Part Number Hot Search : 
MMSZ5254 MUR102 74LS469 HV9110X TE515GM IPP80N04 74LS138 R5F7286
Product Description
Full Text Search
 

To Download ISL5217 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 ? ISL5217 data sheet march 2003 fn6004.2 caution: these devices are sensitive to electrostatic discharge; follow proper ic handling procedures. 1-888-intersil or 321-724-7143 | intersil (and design) is a registered trademark of intersil americas inc. copyright ? intersil americas inc. 2003. all rights reserved. all other trademarks mentioned are the property of their respecti ve owners. quad programmable up converter the ISL5217 quad programmable upconverter (qpuc) is a qask/fm modulator/fdm upco nverter designed for high dynamic range applications such as cellular basestations. the qpuc combines shaping and interpolation filters, a complex modulator, and timing and carrier ncos into a single package. each qpuc can create four fdm channels. multiple qpucs can be cascaded digitally to provide for up to 16 fdm channels in multi-channel applications. the ISL5217 supports both vector and fm modulation. in vector modulation mode, the qpuc accepts 16-bit i and q samples to generate virtually any quadrature am or pm modulation format. the qpuc also has two fm modulation modes. in the fm with pulse shaping mode, the 16-bit frequency samples are pulse shaped/bandlimited prior to fm m odulation. no band limiting filter follows the fm modulator. this fm mode is useful for gmsk type modulation formats. in the fm with band limiting filter mode, the 16-bit frequency samples directly drive the fm modulator. the fm modulator output is filtered to limit the spectral occupancy. this fm mode is useful for analog fm or fsk modulation formats. the qpuc includes an nco driven interpolation filter, which allows the input and output sample rate to have an integer and/or variable relationship. this re-sampling feature simplifies cascading modulators with sample rates that do not have harmonic or integer frequency relationships. the qpuc offers digital output spectral purity that exceeds 100db at the maximum output sample rate of 104msps, for input sample rates as high as 6.5msps. a 16-bit microprocessor compatible interface is used to load configuration and baseband data. a programmable fifo depth interrupt simplifies the interface to the i and q input fifos. features  output sample rates up to 104msps with input data rates up to 6.5msps  processing capable of >140db sfdr out of band  vector modulation for supporting is-136, edge, is95, td- scdma, cdma-2000-1x/3x, w-cdma, and umts  fm modulation for supporting amps, nmt, and gsm  four completely independent channels on chip, each with programmable 256 tap shaping fir, half-band, and high order interpolation filters  16-bit parallel processor interface and four independent serial data inputs  two 20-bit i/o buses and tw o 20-bit output buses allow cascading multiple devices  32-bit programmable carrier nco; 48-bit programmable symbol timing ncos  dynamic gain profiling and output routing control applications  single or multiple channel digital software radio transmitters (wide-band or narrow-band)  base station transmitter and smart antennas  operates with hsp50216 in software radio solutions  compatible with the hi5960/ isl5961 or hi5828/isl5929 d/a converters block diagram ordering information part number temp range ( o c) package pkg. no ISL5217ki -40 to 85 196 ld bga v196.15x15 ISL5217eval1 25 evaluation kit input data parallel host interface shaping intpl filter carrier nco sin cos gain profile iout(19:0) qout(19:0) iin(19:0) configuration and control bus fm mod. sample nco complex mixer p<15:0> a<6:0> {cntrl} i0 q0 i1 q1 i2 q2 i3 q3 4 ch sum 1 cas sum qin(19:0) channel 0 sdb sdc sdd sda channel 1 channel 2 channel 3 2 3 4 i/q half band filter/ i/q i/q i/q i/q gain control i/q delay sum cas sum
2 functional block diagram p<15:0> reset clk a<6:0> wr rd cs rdmode offbin outen<1:0> tritst sdb sdc sdd sda sclkb sclkc sclkd sclka fsrb fsrc fsrd txenb txenc txend txena updb updc updd upda synco uprocessor istrb iout<19:0> qout<19:0> iin<19:0> qin<19:0> tdi tck trst tms tdo jtag ISL5217 device channel update<3:0> tx_enable<3:0> <4:0> reset outputmode<1:0> i_strobe_en istrobepolarity outputmode2x cascade_in_enable cascade_delay<1:0> serial interface channel 0 interface interface up 1-7 deep fifo mux fm mod. shaping filter sample nco carrier nco interpolation filter mixer mux mux mux i fifo q fifo limiter i in<15:0> q in<15:0> i in<15:0> q in<15:0> i fm q fm i sf sr<47:0> fid<31:0> intpl phases<1:0> phase offset<1:0> mod. type <1:0> fine coarse carrier frequency<31:0> carrier phase<15:0> 21 21 complex sin<18:0> cos<18:0> gain<11:0> gain profile length<6:0> i<21:0> q<21:0> channel 1 channel 2 channel 3 routebus<15:0> istrobeupdate fsra and timing ch_select<3:0> summer 4 input output_en ch_enable<0> dualquadmode (ch0 and ch2 only) i<21:0> q<21:0> ch_en<2> i<21:0> q<21:0> ch_en<3> i<21:0> q<21:0> ch_en<1> programmable delay tritst_enable_bus<7:0> control output 1 summer 4 input 2 summer 4 input 3 summer 4 input 4 ser._par. routebus_update gain profile band half 20 20 / / / / / / / / / 18 20 16 16 18 bypass phase<3:0> phase<11:0> / / gain control control routing ISL5217
3 pinout 196 ldbga top view k j h g f e d c b a 123456789 11 10 l m n vccio iin1 12 txena 13 14 iin15 gnd iin7 iin3 sdb sdd qin1 iin16 qin4 gnd sclkc iin17 iin11 qin10 rdmode qin2 iin18 sclkd qin8 qin6 qin15 updd gnd qin12 fsrc iin19 fsrd tdi cs tck gnd rd qin17 tms clk a4 a2 qin19 p0 istrb gnd a5 tritst p2 gnd reset qout4 iout19 qout6 p4 qout13 qout10 qout0 qout3 gnd p14 p8 qout15 qout12 qout9 iout7 iout1 vccio iout3 iout11 vccio gnd iout9 vccio iout0 iout2 iout4 p15 p12 p11 iout13 iout12 iout10 gnd iout8 iout6 p sda iin0 iin13 iin2 sdc txenb sclka iin12 iin10 iin8 iin6 iin4 power pin ground pin signal pin thermal ball nc (no connection) qout19 qin18 qin16 fsrb a3 iout14 iout15 iout16 iout5 qout16 iout17 iout18 p6 p3 p5 vccc qin13 iin14 txenc sclkb upda qout1 qin11 gnd p13 p10 p9 gnd qout5 qout7 qout14 qout11 qout8 qout2 gnd gnd vccio vccc vccc vccc p7 vccc qout17 qout18 offbin tdo trst outen0 outen1 fsra synco a0 a1 a6 qin3 qin5 qin9 qin7 vccc p1 gnd vccc vccc wr gnd qin14 updc vccc gnd vccio vccc vccio vccio gnd gnd iin5 updb txend qin0 iin9 vccc gnd vccc gnd note: thermal balls should be connected to the ground plane. ISL5217
4 pin descriptions (all si gnals are active high unless otherwise stated) name type description power supply vccc - positive device core power supply voltage, 2.5v 0.125v. vccio - positive device input/out put power supply voltage, 3.3v 0.165v. gnd - ground, 0v microprocessor interface and control clk i input clock. all processing in t he ISL5217 occurs on the rising edge of clk. reset i reset. (active low). asserting reset will clear all configuration registers to t heir default values, halting all processing. p<15:0> i/o data bus. bit 15 is the msb. a<6:0> i address bus. bit 6 is the msb. cs i chip select. (active low). e nables device to respond to p access. note: see appendix a, errata sheet. rdmode i read mode. read mode selects the read/write mode fo r the microprocessor interface. when low the device is configured for separate rd and wr strobe inputs. when high the device is configured for a common read/write and data strobe inputs. internally pulled down. wr i write strobe, (active low). dual function input. the input is configured for write strobe when rdmode is low. when rdmode is high the input is configured for data strobe. write strobe. the data on p<15:0> is written to the des tination selected by a<6:0> on the rising edge of wr when cs is asserted (low). data strobe. the data on p<15:0> is written to the destinat ion selected by a<6:0> on the rising edge of data strobe when rd is low and cs is asserted (low) or read from the address selected by a<6:0> placed on p<15:0> when rd is high and cs is asserted (low). rd i read strobe (active low). dual function input. the i nput is configured for read strobe when rdmode is low. when rdmode is high the input is configured for read/write strobe. read strobe. the data at the address selected by a(6:0) is placed on p<15:0> when rd is asserted (low) and cs is asserted (low). read/write strobe. determines the type of p access. offbin i offset binary. when set to 1, the output data bus format is offset binary. when set to 0 the output data bus format is 2?s complement. outen<1:0> i output three-state control. outen<1:0> is decoded to provide three-state contro l of the output data buses. when tritst is asserted, the three-state c ontrol divides the 80-bit output into eight groups of 10-bits each. when tritst is deasserted, the three-state control operates on t he 20-bit real and imaginary cascade out data buses. tritst i tester three-state control. this signal determines how the outen<1:0> is decoded to provide the necessary three-state controls when in normal or test er applications. set lo w for normal operation. serial data / synchronization and fifo status sda, sdb, sdc, sdd i serial data a-d. (sdx) serial data input for the i and q vectors. the processing channel selected for this data will shift the data in on the rising edge of its serial tx cloc k. the data vectors are shifted in with the msb first. sclka, sclkb, sclkc, sclkd o serial clk a-d. (sclkx ) dual function output. the output is serial clk when symbol data is input through the serial data port. when symbol data is input through the p port the output is sample clk 0-3. the polarity of sclkx is programmable. serial clock. programmable ra te clock signal provided to the data source to shift serial data out. programmed rates can be clk/(1-32), or 32x sample clock. see c ontrol word 0x17, bit 15 for shut-off conditioning. sample clk. signal provided to the data source to indica te when data is being transfer red from the fifo to the shaping filter. the sample clk output is generated by the sample rate nco and has approximately 50% duty cycle. the sample is taken on the high-to-low transition. fsra, fsrb, fsrc, fsrd o frame strobe a-d. (fsrx ) multiple function output. when control word 0x0c, bit 11 is set to zero, the output is frame strobe when symbol data is input through the serial data port. when symbol data is input through the p port the output is fifo ready 0-3. when control wo rd 0x0c, bit 11 is set to one, the setting of the fsrmode<1:0> bits in indirect address 0x 407 determine the output. the polarity of fsrx is programmable. frame strobe. signal provided to the data source to initiate a serial word transfer. alternatively selectable through serial control 0x11, bit 14 to be epoch frame str obe. epoch is a pre-carry out of the fixed integer divider instead of the serial frame strobe. the epoch pre-carry out is six clocks ahead of the true carry out and can be used to synchronize fixed integer divider s of other devices. see control word 0x17, bit 15 for shut-off conditioning. fifo ready. indicates the i and q fifo poi nter is less than the programmed fifo depth. updx or txenx: when 0x0c, bit 11 is set to one, and fsrmode<1 :0> is set to 10, the internal channel updx is output. when 0x0c, bit 11 is set to one, and fsrmode< 1:0> is set to 11, the internal channel txenx is output. see table 43 for additional details. ISL5217
5 txena, txenb, txenc, txend i transmit enable a-d. (txenx ) the processing channel selected for th is enable will forc e a channel flush (conditioned by control word 0x0c, bi t 2), clear the data rams, and update the selected configuration registers upon assertion. no additional requests fo r serial data will be made when txenx is deasserted, unl ess conditioned by control word 0x0c, bit 3. the polarity of txenx is programmable. optionally, txenx can be internally generated with a programmable duty cycle. two different programmable txenx cycles can be prog rammed and toggled between based on prog rammed cycle length. see control word 0x0c, bit 11 and table 43 for addi tional details. upda, updb, updc, updd i update a-d. (updx ) the processing channel selected for this input updat es the selected configuration registers, if the associated update mask bit is set. the polarity of updx is programmable. synco o synchronization output. the processing of multiple ISL5217 devices can be sync hronized through software by connecting the synco of the master ISL5217 device to an updx pin of the ISL5217 slaves. the polarity of synco is programmable. modulated data (80) iout(19:0) o output data bus a (19:0). output bus a contai ns the digital modulated quc output samples from output summer/formatter 1. the samples are updated on the rising edge of the clk. bit <19> is the msb. qout(19:0) o output data bus b (19:0). the output bus contai ns the digital modulated quc output samples from output summer/formatter 2. the samples are updated on the rising edge of the clk. bit <19> is the msb. iin(19:0) i/o i cascade in (19:0) or output bus c. dual functi on i/o bus. the bus is configured for input when the output mode is cascade in. the bus is configured for output for all other output modes. i cascade in. input bus allows multiple parts to be ca scaded by routing the digital modulated signal i cas out, (bus a), from one quc into output summer/formatter 1 of a second quc. i cas in (19:0) is in 2?s complement format and is sampled on the rising edge of clk. bit<19> is the msb. output data bus c. the output bus contains the digital modulated quc output samples from output summer/formatter 3. the samples are updated on the rising edge of the clk. bit <19> is the msb. qin(19:0) i/o q cascade in (19:0) or output data bus d. dual function i/o bus. the bus is configured for input when the output mode is cascade in. the bus is configured for output for all other output modes. q cascade in. input bus allows multiple parts to be ca scaded by routing the digital modulated signal q cas out, (bus b), from one quc into output summer/formatter 2 of a second quc. q cas in (19:0) is in 2?s complement format and is sampled on the rising edge of clk. bit<19> is the msb. output data bus d. the output bus contains the digital modulated quc output samples from output summer/formatter 4. the samples are updated on the rising edge of the clk. bit <19> is the msb. istrb o i data strobe. (active high). used in the muxed i/q mode. when asserted, the output data buses contain valid i data. jtag test access port tms i jtag test mode select. internally pulled up. tdi i jtag test data in. internally pulled up. tck i jtag test clock. trst i jtag test reset (active low). internal ly pulled-up. this pin should be driven by the jtag logic to obtain a tap controller reset, or if jtag is not utilized, this pin should be tied to ground for normal operation. as recommended in the 1149.1 standard documentation the trst test pin should be made active soon after power-up to guarantee a known state within the tap logic on the ISL5217. this avoids potential damage due to signal contention at the circuit?s inputs and outputs. tdo o jtag test data out. pin descriptions (all si gnals are active high unless otherwise stated) (continued) name type description ISL5217
6 functional description the ISL5217 quad programmable upconverter (qpuc) converts digital baseband data into modulated or frequency translated digital samples. the qpuc can be configured to create any quadrature amplitude shift-keyed (qask) data modulated signal, including qpsk, bpsk, and m-ary qam. the qpuc can also be configured to create both shaped and unfiltered fm signals. a minimum of 16 bits of resolution is maintained throughout the internal processing. the qpuc is configured via the microprocessor data bus, using the a<6:0> address bus, p<15:0> data bus, rd , wr and cs control signals. configuration data that is loaded via this bus includes the individual channel?s 48-bit sample rate nco center frequency, the 32 -bit carrier nco center frequency, the device modulation format, gain control, input mode control, reset control and sync control. the i and q baseband channels each have a 256 tap fir filter whose coefficients and configuration are also programmed via the p interface. similarly, the control signals for the i and q channel interpolation filter s are programmed via the p interface. discussion in the following sections utilizes the register definitions for channel 0. channels 1-3 are similarly configured in accordance with the table 10 memory map. data input the i/q sample pairs can be input serially through 1 of 4 serial interfaces or in parallel through the p addressable registers as shown in figure 1. serial the serial mode allows the device to shift the i and q samples serially into the fifo holding registers. the serial input format is selected when serial control (0x11, bit 15) is high. the serial interface is three-wire interface controlled by the channel. the serial clock and frame strobe are driven by the channel to clock the serial data from the source into the serial data port. the serial clock can operate at the clock rate, at a divided clock rate, or be driven at 32x the sample clock rate. serial control (0x11, bits 13:8) configure the serial clock. in the 32x mode, back to back 16-bit serial transfers can occur by setting control word (0x17, bits 14:13) both high. the serial process begins with the first serial clock after the star t of a sample clock. the frame strobe is asserted for one serial clock and starts the i and q time slot counters. the txenx pin or main control (0x0c, bit 0) s/w tx enable must be asserted to enable the frame strobe out. additional requests for serial data, with txenx de- asserted, are controlled by bit 3 of control word 0x0c. the serial interface may be programmed to be dependent or independent of txenx control. the i and q time slot counters, programmed through 0x12, bits 9:0 and 0x13, bits 9:0, control the duration of the serial to parallel conversion of the serial data input. the counters are loaded to count the number of serial clocks from the frame strobe to shift in the la st data bit of that sample. the time slot counters are 10-bits to allow multiple channels to share a common serial data input. the msb is always shifted first, but the order of the i and q serial data is flexible due to the variability of the time slot counters. the received serial word is msb justified prior to loading into the fifo holding register based on the serial word length, programed through serial control (0x11, bits 3:2) to 4, 8, 12, or 16 bits. although each channel has control of a serial interface it may select serial data from one of the other interfaces. serial control (0x11, bits 1:0) selects 1 of 4 serial data ports for the channel. the serial data transfer format is shown in figure 2. the ability to select the serial input source allows multiple qpucs to share a single microprocessor interface with their processing synchronized thro ugh the master qpuc synco being tied to the slave device updx . conversely, multiple figure 1. single channel data input path 4:1 mux sdb sdc sdd sda 2:1 mux 0x11, 1:0 serial to parallel 0x13, 9:0 0x12, 9:0 2:1 mux q sample (15:0) i sample (15:0) 0x1, 15:0 0x0, 15:0 p<15:0> a<6:0> 0x11, 15 channel p interface 0x11, 3:2 parallel figure 2. serial data transfer updx txenx fsrbx sdx sclkx inactive don?t care q q i i ISL5217
7 microprocessors can share a single qpuc as shown in figure 3. parallel the parallel mode allows the p to write the i and q samples directly to the fifo holding registers. the parallel input format is selected when serial control (0x11, bit 15) is low. the normal p write order is the q sample, control word 0x1, followed by the i sample, control word 0x0. writing to control word 0x0 generates the update strobe to move the data from the fifo holding register into the first location of the i/q fifo. the firs t location of the i/q fifo is available for read back. the p can perform back-to-back write accesses to control words 0x1 and 0x0, but must maintain four f clk periods between accesses to the same address. this limits the maximum p write access rate for an i/ q sample pair to 104mhz/4 = 26mhz. the read/write format for a parallel data transfer is shown in figure 4 fifo the fifo provides the inte rface and data storage between the input source and the shaping filter or fm modulator. the fifo can hold up to seven i /q sample pairs. the block diagram is shown in figure 6. the input source to the fifo is selected by serial control (15). the fifo pointer is incr emented every time data is written into the fifo. the transferring of data into the fifo does not occur until both i and q have been received when the sample data is input in a serial fashion. when the sample data is input in a parallel fashion, the transferring of data into the fifo occurs when the p writes to control word 0 (i data). while the input source determines the write rate, the shaping filter determines the read rate. the maximum read rate occurs when the shaping filter constraints for data span (ds) and interpolation phases (ip) equal four. for a clock rate of 104mhz, th e maximum read rate is determined by f clk /(ds)(ip), whic h is 104mhz/16 = 6.5mhz. see the shaping filter section for more details. when the shaping filter requires another data sample, a request is made to the fifo for data and the fifo pointer is decremented. figure 5 indi cates the timing of a request for data from the shaping filter to the actual appearance of data at the fifo output. an ?empty? fifo detection causes zero valued data to be entered into the shaping filter. the fifo can be forced to enter zero valued data by setting the on-line mode to false. the on-line mode is enabled by main control (0xc, bit 6). a ?full? fifo detection prevents data from being pushed out of the fifo before the filter requests it. writing to a full fifo is treated as an error condition that will result in a soft reset of the channel to prevent transmission of erroneous data over the air. the full fifo channel reset can be disabled by control word 0x0c, bit 1. a programmable fifo depth threshold sets when the fifordy signal is asserted, alerting the data source that more data is required. the fifordy signal assists the data source in maintaining the desired fifo data depth. the data fifo depth threshold for both i and q inputs is set by main control (0xc, bits 10:8). the sample clk may be used instead of fifordy to indicate when data has been transferred from the fifo to the shaping filter. see the pin description table for additional details and figure 5 for the input data latency. figure 3. multiple configurations p sclkx fsrx sdx master qpuc ISL5217 synco slave qpuc ISL5217 updx slave qpuc ISL5217 slave qpuc ISL5217 updx updx p sclkx fsrx sdx channel 0 qpuc ISL5217 p sclkx fsrx sdx p sclkx fsrx sdx p sclkx fsrx sdx channel 1 channel 2 channel 3 updx rdmode rd wr a<6:0> clk 01 figure 4. parallel data transfer p<15:0> 00 01 00 q i q i 01 00 q i ISL5217
8 data modulation path three data path options are provided, one for each modulation format. the modulati on format is selected using fir control (0xd, 3:2). the modulation paths are defined in the following subsections. figure 5. fifo data and enable timing clk wr dly data dff 1 dff 2 dff 3 dff 4 reg1 fifordy write_fifo 1234 fifo needs more data fifo needs more data figure 6. i and q fifo block diagram zero?s comp dff comp 0xc, 10:8 8:1 mux wr a(000) write_fifo write_fifo a(2:0) ififo(15:0) qfifo(15:0) fifordy dff1 dff2 dff3 dff4 0 1 fm enabled ? all registers are clocked at clk unless shown otherwise. 2:1 mux serial_write_to_fifo clock synchronization almost empty threshold 4:1 mux sdb sdc sdd sda 2:1 mux 0x11, 1:0 serial to parallel 0x13, 9:0 0x12, 9:0 2:1 mux q sample (15:0) i sample (15:0) 0x1, 15:0 0x0, 15:0 p<15:0> a<6:0> 0x11, 15 channel p interface 0x11, 3:2 parallel r e g > r e g > r e g > r e g > r e g > r e g > r e g > 8:1 mux r e g > r e g > r e g > r e g > r e g > r e g > r e g > r e g > r e g > r e g > r e g > 0x11, 15 ISL5217
9 modulation mode 00 - qask this modulation mode configures the qpuc as a bpsk, qpsk, oqpsk, msk or m-qam modulator. the block diagram is shown in figure 7. the data fifo outputs are routed to the shaping filters. here the samples are interpolated by 4, 8, or 16 and shaped using a fir filter with up to a 256 taps. the filter im pulse response can span 4-16 input samples. a half (input) sa mple delay can be inserted in the i/q path after the fir and is enabled through main control (0xc, bit 13). the 20-bit ou tput of the shaping filter is routed through a gain adjust multiplier controlled by 0x0a, bits 11:0 and into the interpol ation filter. the interpolation filter interpolates by a factor set in the resampling nco with the interpolation phases contro lled by 0xd, bits 1:0. the output of the interpolation filt er is at the master clock frequency, clk. the samples are then mixed with the carrier l.o. for quadrature upconversion. the output is then summed with the cascade input signal, saturated (in the case of overflow), and formatted for output. modulation mode 01 - fm with bandlimiting filter this mode configures the qpuc as an fm modulator with post-modulation filter ing. the block diagram is shown in figure 8. this mode provides for fsk and fm modulation schemes. in this mode, the i input samples drive the frequency control section of a quadrature nco to produce a zero if fm signal. the 16-bit fm quadrature signals are then routed to the shaping fir filter and into the interpolation filter for bandlimiting and interpolation up to the master clock rate. the quadrature filtered fm signals are then upconverted to the carrier frequency by the carrier nco and mixers. the output is then summed with the cascade input signal, saturated (in the case of overflow), and formatted for output. note that pulse shaping in this mode must be provided prior to the qpuc. modulation mode 10 - fm with pulse shaping this mode configures the qpuc as a fm modulator with pre-modulation baseband pulse shaping. the block diagram is shown in figure 9. the data from the fifo (i channel only) is routed to the fir shaping filter. the fir shaping filter output drives the frequency cont rol section of a quadrature nco to produce a zero if fm signal. these 18-bit fm modulated quadrature samples are then up sampled in the interpolation filter to the ou tput sample rate. the baseband modulated signal is then upconverted to the carrier frequency by the carrier nco and mixers. the output is then summed with the cascade input signal, saturated, and formatted for output. in mode 10, the amplitude out of the shaping filter needs to be limited in order to prevent frequency excursions that cannot be filtered out in the interpolation filter. note: the quality of the fm signal is affected by the amplitude slew rate out of the shaping filter. as a rule of thumb, limiting this slew rate to less than 1/8 the sample rate will minimize this distortion. fm modulator the fm modulator provides for frequency modulation of the carrier center frequency by the qpuc input data. the fm modulator is driven either directly by the qpuc i input (mode 01) or by the output of the fi r shaping filter (mode 10). the input data to the fm m odulator, is defined as d (n)/dt, where (nt) is the phase of a theoretical sinusoid described by: the block diagram is shown in figure 10. the input to the fm modulator, d (n)/dt, is integrated via the nco accumulator. the nco accumulator output represents phase and is used to address a sin/cos generator, synthesizing a sinusoid of the form described in equation 1. the phase accumulator feedback of the nco is 20 bits and 18 bits of the phase word are routed to the sin/cos generator. eighteen bits of amplitude are provided on the sine and cosine outputs. the transfer function of the fm modulator is defined by the change in degrees per sample value, d (nt)/dt, where d (nt)/dt is a 16-bit, twos complement, fractionally notated frequency control word with a range from -f samp /2 to +f samp /2. f samp is defined as the sample rate into the fm gain profile to halfband shaping filter i figure 7. qask q gain profile to half band fm modulator i shaping filter figure 8. fm with bandlimiting gain profile to half band shaping filter i figure 9. fm with pulse shaping fm modulator sn () a (cos nt ()] + j sin nt () [] ); a 1 in modulator [ = (eq. 1) sin/cos rom mode d (nt)/dt (nt) cos[ (nt)] figure 10. fm modulator block diagram sin[ (nt)] 16 or 20 20 18 18 01 or 10 r e g > fm ISL5217
10 modulator. the maximum phase step that can occur in one clock is 180 degrees. table 1 provides the change in phase weighting of the input bits. shaping filter the shaping filter provides the necessary pulse shaping required on the input data to implement various qask and shaped fm modulation formats. two identical shaping filters (one each for the i and q paths) are provided. the shaping filter architecture uses a nco controlled interpolating fir, capable of 4, 8, or 16 interpolation phases. the number of interpolation phases, (ip) is loaded into fir control (0xd, bits 1:0). the span of the impulse response of the polyphase filter can vary from 4-16 data samples. the desired sample data span, (ds) value minus one is loaded into fir control (0xd, bits 7:4). thus, the required number of coefficients (or filter span) becomes: the interpolation phase also det ermines the rate to compute a polyphase output by selecting the appropriate timing from the sample rate nco to drive the shaping filter at 4x, 8x, or 16x the input sample rate. the data span selects the number of samples to convolve. each convolution requires ds reference clocks for each phase of the filter. an output is calculated (ip) times for each input sample. to allow sufficient processing time fo r each output, the reference clock must be as follows: conversely, the input sample rate requires: where f clk is the frequency of the reference clock, ip is the shaping filter interpolate rate; and ds is the number of data samples in the filter span. for example, if f clk = 104mhz, the filter span is 16 samples, and the interpolation rate is 16, then the maximum input sample rate, f s is 104/256 = 406.25khz. table 2 shows several examples of calculations for fir input sample rates based on master reference clock rate, number of data samples, and interpolation rate. the data exits the shapin g filters at the interpolated rate. the shaping filters have programmable coefficients which must be loaded via the microprocessor interface. the qpuc supports loading coefficients for two shaping filters, with fir control (0xd, bit 8) selecting the active filter. the i and q shaping filters are identical and may be loaded simultaneously or separately, allowing for different gains and responses through the filter if desired. because 16 interpolation phases are possible, the coefficients are structured in sets of 16, one set for each phase of the shaping filter . the convolution algorithm sequentially steps through each of these phases, beginning with phase 0. the coefficients for the shaping filters are generated by designing the prototype filter at the interpolated rate. the coefficients are then divided into interpolation phases by taking every n th tap of the prototype filter and storing the coefficient as an element of a coefficient set. the ip value determines the addressing interval through the prototype filt er to create the coefficient sets for the filter phases. the first coefficient set begins at address 0. the next coefficient set begins at address 1 and continues in a like manner for the remaining coefficient sets. for a 16 tap, interpolate-by-4 filter, the calculations for filter 1 are: polyphase output 0 = (c0*d[n]) + (c4*d[n-1]) + (c8*d[n-2]) + (c12*d[n-3]) polyphase output 1 = (c1*d[n]) + (c5*d[n-1]) + (c9*d[n-2]) + (c13*d[n-3]) polyphase output 2 = (c2*d[n]) + (c6*d[n-1]) + (c10*d[n-2]) + (c14*d[n-3]) polyphase output 3 = (c3*d[n]) + (c7*d[n-1]) + (c11*d[n-2]) + (c15*d[n-3]) if fir control (8) is set the calculations for filter 2 are: polyphase output 0 = (d0*d[n]) + (d4*d[n-1]) + (d8*d[n-2]) + (d12*d[n-3]) table 1. phase weighting d (nt)/dt degrees/sample 1000 0000 0000 0000 -180 0000 0000 0000 0000 0 0111 1111 1111 1111 ~+180 # coefficients = (ds)(ip) (eq. 2) clk ds () ip () f s () (eq. 3) f s f clk [ip () ? ds ()] (eq. 4) table 2. example calculations example f clk ds ip max f s 1 104mhz 16 16 104/256 = 406.25khz 2 104mhz 16 8 104/128 = 812.5khz 3 104mhz 16 4 104/64 = 1.625mhz 4 104mhz 10 4 104/40 = 2.600mhz 5 104mhz 8 4 104/32 = 3.250mhz 6 104mhz 4 4 104/16 = 6.500mhz table 3. fir controls ip starting address w/fir control (8) = ?0? starting address w/fir control (8) = ?1? 40 8 80 8 16 0 128 ISL5217
11 polyphase output 1 = (d1*d[n] ) + (d5*d[n-1]) + (d9*d[n-2]) + (d13*d[n-3]) polyphase output 2 = (d2*d[n]) + (d6*d[n-1]) + (d10*d[n-2]) + (d14*d[n-3]) polyphase output 3 = (d3*d[n]) + (d7*d[n-1]) + (d11*d[n-2]) + (d15*d[n-3]) table 4 details the coefficient address allocation for the previous example. the interpolat ion phase is on the left and the data span is across the to p. the coefficient ram address followed by the coefficient term is listed in the table?s cell. table 49 details the coefficient address locations through 255. the loading options are programmable including read back modes and are discussed in detail in the ?microprocessor interface? section. both 16-bit 2?s complement and 24-bit floating point format are allowed. the 2?s complement coefficient format of valid digital values ranges from 0x8001 to 0x7fff. the value 8000 is not allowed. the 24-bit floating point (20-bit mantissa with 4-bit exponent) mode allows an exponent range from 0 to 15. an exponent of 0 indicates multiplication of the coefficient by 2 0 , and an exponent of 1 is 2 -1 , down to a value of 15 being 2 -15 . the default mode is 2?s complement, with 24-bit floating point mode enabled by setting control word (0x17, bit 12). the gain through the filter is: a = (sum of coefficients) / interpolation rate. the shaping filter contains satu ration logic in the event that the final output peaks over +/ - 1.0. when using quadrature modulation, saturation/overflow can occur when the input values for i and q exceed 0.707 peak. the shaping filter coefficients may need to be reduced from full scale to prevent saturation. gain profile the overall channel gain is controlled by both a gain profile stage and a gain control stage, which provide identical scaling for the i and q upconverted data. the gain profile stage allows transmit ramp-up and quench fading, to control the sidelobe profile in burst mode. this is implemented through user control of the rise and fall transitions utilizing a gain profile memory. the gain profile memory is a 128 x 12 bit ram which is loaded with the desired scaling coefficient s via indirect addressing of memory spaces 0x000-0x07f. the pulse shaping is implemented by linearly multiplying the programmed coefficient by the shaping filter outputs at the f s *ip, or coarse phase rate. the gain profile is enabled by fir control (0xd, bit 15), with the ram address pointer being reset to zero on assertion of the gain profile enable. control of the pulse shaping is based on txenx , as the txenx rising edge causes the ram pointer to begin stepping through the profile until the ram pointer matches the gain profile length programed into control word (0x0b, bits 6:0). the falling edge of txenx reverses the process and the ram pointer begins decrementing until it reaches zero. the gain process is symmetric with respect to the rising or falling edges of txenx . the latency through the gain profile block is set by control word (0x0b, bits 8:7) where bit 8 bypasses all latency alignment circuitry and uses txenx as input to the channel. setting control word (0x0b, bit 7) removes two edge latencies from the delay path and should be combined with selection of ds = 3, ip = 4 in order to have perfect symmetry through the gain profile block. the memory coefficients may be loaded without taking the channel off-line. this is implemented by setting th e gain profile hold bit in control word (0x0c, bit 14) which holds the last gain value and provides access to the memory. the gain profile coefficients are programmed as unsigned values: bit weight 2 0 .2 -1 2 -2 ... 2 -11 maximum 0x800 = 1.0 0x001 = 2 -11 minimum 0x000 = 0.0 table 4. address allocation ds [n] ds [n-1] ds [n-2] ds [n-3] ip0 0 co 16c4 32c8 48c12  ip1 1 c1 17c5 33c9 49c13  ip2 2 c2 18c6 34c10 50c14  ip3 3 c3 19c7 35c11 51c15  ip4 4203652 ip5 5213753 ip6 6223854 ip7 7233955 ip8 8 d0 24d4 40d8 56d12  ip9 9 d1 25d5 41d9 57d13  ip10 10 d2 26 d6 42 d10 58 d14  ip11 11 d3 27 d7 43 d11 59 d15  ip12 12 28 44 60  ip13 13 29 45 61  ip14 14 30 46 62  ip15 15 31 47 63  ISL5217
12 gain control the gain control is implemented through a scaling multiplier followed by a scaling shift. the combination of the multiplier and shifter provide the final output gain of the channel. gain adjustment can vary from -0.0026 to -144 dbfs. given a desired attenuation, th e scaling multiplier value, gain mult (11:0) can be calculated by the following equation. gain mult (11:0) = int [10 |(gain(db)| / 20 ) 2 12 ] where int[x] is the integer part of the real number x. table 5 details a few scaling multiplier values and their associated attenuations. given a desired attenuati on, the shifting value gain shift (2:0) can be determined by a table look-up. refer to table 6. the gain control is loaded into control word 0xa. 0xa, bits 14:12 = gain shift (2:0) 0xa, bits 11:0 = gain mult (11:0) sampling nco the sample rate nco provides the sample clk and sample clock phase information to the data input fifo?s, the shaping filters and the inte rpolation filters. the input sample rate is set by the sample clock. the sample clock is the msb of the nco accumulator and controls the movement of sample data from the user to the shaping filters. the coarse phase of the nco accumulator controls the processing of the shaping filter at 4x, 8x, or 16x the sample clock rate. the fine phase of the nco accumulator controls the processing of the interpolation filter as it re- samples the data from the shaping filter to the clock rate. the block diagram is shown in figure 11. the sample frequency, sf, is set with 48-bit resolution. the lsb is f clk /2 48 . the internal accumulator resolution is 48 bits. given a desired sample frequency, f s, the value for sf(47:0) can be calculated by the following equation. sf (47:0) = int [(f s / f clk ) * 2 48 ] the sample frequency, sf(47:0) is loaded 16 bits at a time into control words 4, 5, and 6. 0x4, bits 15:0 = sf (47:32) 0x5, bits 15:0 = sf (31:16) 0x6, bits 15:0 = sf (15:0) the output of the phase accumulator can be offset by phase increments of 90 degrees without affecting the operation of the phase accumulator. the desired offset increment is loaded into fir control (0xd, bits 11:10). since it is not possible to represent all frequencies exactly with an nco, the phase accumulator length has been extended to minimize the effect of phase error accumulation. at an update rate of 1mhz, half an lsb of error in loading the 48-bit accumulator is 1.8e-9. the accumulated phase error after 1 year is 0.056 of a bit. leap counter in addition to lengthening the nco accumulator, a 32-bit counter is available for realizing fixed integer interpolation rates. the carry-out of the fixed integer counter can be used to clear the coarse and/or fine phase of the sample rate nco. the fixed integer counter also provides a precarry-out that can be used to synchronize fixed integer counters in other devices. the fixed integer counter is enabled by fir control (0xd, bit 12). in programming the fid to clear the nco accumulator, consideration must be provid ed to ensure that fid is programmed to clear the error term only when the desired error term should have been zero with an integer multiple of the symbol rate. selecting gsm as an example, the fid should clear the nco accumulator every third multiple of the symbol rate or every 270833.333 * 3 sample clocks, as the error term should only be zeroed during integer multiples of table 5. scaling gain attenuation gain mult (0xa, 11:0) gain (dbfs) scaling gain (v out /v in )% 1111 1111 1111 -0.0026 99.97 1000 0000 0000 -6.021 50.0 0100 0000 0000 -12.041 25.0 0010 0000 0000 -18.062 12.5 0001 0000 0000 -24.082 6.25 0000 1000 0000 -30.103 3.125 0000 0100 0000 -36.124 1.5625 0000 0010 0000 -42.144 0.78125 0000 0001 0000 -48.165 0.39062 0000 0000 1000 -54.186 0.19531 0000 0000 0100 -60.205 0.097656 0000 0000 0010 -66.226 0.04828 0000 0000 0001 -72.247 0.02441 table 6. gain shift values gain shift (2:0) gain (dbfs) scale by scaling gain (v out /v in )% 000 -72.247 4096 0.02441 001 -48.165 256 0.39062 010 -30.103 32 3.125 011 -24.082 16 6.25 100 -18.062 8 12.5 101 -12.041 4 25.0 110 -6.021 2 50.0 111 0 1 100.0 ISL5217
13 the symbol rate. this would clear the nco accumulator every 3 seconds or at a 1/3 hz rate. the frequency of the fid carryout can range from fclk to fclk/2^32. the value of fid is determined from: fid (31:0) = [(fclk / fco)] where fco is the desired frequency of the carryout, which in the previous example is 1/3 hz and the fclk is and integer multiple of the sample frequency, say 65mhz. the resultant value for the fid would be (65mhz/1/3hz) or 195e6. the programmed integer values for the fid are loaded 16 bits at a time into control words 2 and 3. 0x2, bits 15:0 = fid (31:16) 0x3, bits 15:0 = fid (15:0) loading 195e6 into the fid would result in 0x2, being 0x0b9f, and 0x3 being 0x76c0. fixed coefficient 11- tap interpolating half-band following the post-fir gain profil e block is a fixed coefficient 11-tap interpolate by 2 half-band filter. the default mode is to bypass the filter with the sett ing of control word 0x0d, bit 9 enabling the filter. if bypassed, th e data to the filter is zeroed which reduces power consum ption. the halfband filter coefficients are: 3, 0, -25, 0, 150, 2 56, 150, 0, -25, 0, 3 the output of this filter is ro unded to 20-bits. the output is checked for saturation and limited if necessary. the data exits the halfband filter as a parallel i<20:0> and q<20:0> data stream at the rate of fs*ip*2. figure 12 shows the frequency response of the half-band filter. interpolation filter the shaped sample data is input to the interpolating filter at the interpolation rate. the interpolator filter resamples the shaped i and q data to establish the final output sample rate of the channel. the output sample rate is always the clock rate. the interpolator uses the fine phase values from the symbol rate nco to compute the fine interpolated samples at the clock rate. the number of interpolated samples is set by the following ratio: n is = f clk / f s / ip. the nulls in the interpolation filter frequency response align with the interpolation images of the shaping filter. the impulse response of the interp olation filter is shown in figures 13a through 13c for varying interpolation ratios. 12 46 48 syncin wr cw3 sample frequency 2 zero shifter ip(1:0) fine phase coarse phase sampck (msb) syncsel en ? all registers are clocked at clk 4, 3, or 2 reg > reg > reg < 0 1 mux ennco (carrier nco) acc start gen edge reset gen edge wr cw21 rst r e g > r e g > figure 11. re-sampling nco block diagram figure 13a. interpolation filter impulse response l = 16; fout = 4096 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -140 -120 -100 -80 -60 -40 -20 0 normalized frequency (nyquist=1) magnitude (db) figure 12. half band filter response 0 -20 -40 -60 -80 -100 -120 magnitude (db) 512 1024 1536 2048 2560 3072 3584 4096 sample times interpolation filter response ISL5217
14 carrier nco following the interpolating filt er section, the samples are modulated onto a carrier signal via a complex multiply operation. the carrier nco provides the quadrature local oscillator references to the complex mixer. the nco has provisions for programming the frequency and phase offset. the nco has a 32 bit frequency control providing sub-hertz resolution at the maximum clock rate. the carrier nco phase accumulator feedback can be preset to synchronize multiple channels. the carrier nco has a 32-bit 2?s complement programmable frequency increment value which can range from -2 31 to ~2 31 for a nco output range of -f clk /2 to ~ f clk /2. for f clk = 104mhz, the frequency will range from -52mhz to +52mhz. the maximum error is 104mhz/(2 32 ) = 0.0242hz. the carrier frequency can be calculated from the value loaded into control address 0x8 and 0x9 by: where cr(31:0) is the 32-bit frequency control word which can range from -2 31 to ~2 31 for a nco output range of -f clk /2 to ~ f clk /2. f clk is the clk frequency. this nco frequency range allows for spectral inversion. given a desired carrier frequency, the value for cr(31:0) loaded into the part can be calculated by: where int[x] is the integer part of the real number x. the vector rotation can also be controlled by the sign of the cf value. when cf is a positive value a counterclockwise vector rotation is produced. when cf is a negative value a clockwise vector rotation is produced. the carrier frequency is loaded 16 bits at a time into control words 8 and 9. 0x8, bits 15:0 = cf (31:16) 0x9, bits 15:0 = cf (15:0) the 16-bit carrier phase offset initializes the most-significant 16-bits of the phase accumulato r. the least significant 16 bits of the phase accumulator are cleared. given a desired carrier phase offset, the value co(31:0) can be calculated by the following equation. the carrier phase offset is loaded into control word 0x7. control word 7 (15:0) = co (31:16). complex mixer the complex mixer multiplies th e sin/cos terms generated by the carrier nco sin/cos generator with the i and q interpolated sample data. the mixers can be bypassed by programming the carrier frequency to zero. this action sets the sin/cos terms generated by the carrier nco to 0 and 1 respectively. the block diagram of the carrier nco/complex mixer is shown in figure 14. figure 13b. interpolation filter impulse response l = 16; fout = 4096 figure 13c. interpolation filter impulse response l = 16; fout = 4096 0 -20 -40 -60 -80 -100 -120 magnitude (db) 64 128 192 256 sample times 320 384 448 512 interpolation filter response 0 -0.05 -0.1 -0.15 -0.2 -0.25 -0.3 -0.35 -0.4 -0.45 -0.5 -0.55 -0.6 -0.65 -0.7 magnitude (db) 8 16243240485664 sample times interpolation filter response f carrier cr 31:0 () f clk 2 32 ? = (eq. 5) cr 31:0 () int f c f clk ? *2 32 ] [ = (eq. 6) co 31:0 () int phaseoffset () 360 -------------------------------------------- - *2 32 ] = (eq. 7) figure 14. vector modulator/mixer block diagram q(20:0) sin i(20:0) cos en out im (20:0) 19 19 + + i(20:0) sin q(20:0) cos en out re (20:0) 19 19 + - ISL5217
15 the resulting complex output is given by the following equations. re mixer (20:0) = i(20:0) * cos(18:0) - q(20:0) * sin(18:0) im mixer (20:0) = q(20:0) * cos(18:0) + i(20:0) * sin(18:0) (vector weighting for block diagram) i (20:0) = 2 1 .. 2 -19 q (20:0) = 2 1 ... 2 -19 sin (18:0) = 2 0 ... 2 -18 cos (18:0) = 2 0 ... 2 -18 re mixer(20:0) = 2 1 ... 2 -19 im mixer(20:0) = 2 1 ... 2 -19 output processing output processing sums the modulated output of each channel to provide multi-carrier outputs. there are four 4-channel summers, which combined with the outputs iout, qout, and bidirectional outputs iin and qin can be configured by the user to su pport eight output modes. the output mode is determined by de vice control 0x78 bits 9:8 and main control 0xc, bit 7. output modes cascade mode: in this mode iin<19:0> and qin<19:0> are configured as inputs for the real and imaginary cascade inputs. this is the only mode where iin and qin are configured as inputs. the cascade input allows for more than four multi-channel transmissions by summing the complex modulated signals from other device?s with the four channel summer. a cascade chain of four devices allows up to sixteen carriers. each device delays it?s 4-channel summation to align with the cascade in from the previous device. device control 0x78 bits 2:1, cascade delay <1:0>, identifies the position in the cascade chain to select the appropriate delay. device control 0x78, bit 3, cascade input enable, zeroes the cascade-in data when the port is not in use. the output of the summation is saturated to prevent roll-over. real: real data is output on iin, qin, iout, and qout. imag: imaginary data is output on iin, qin, iout, and qout. muxed i/q: the output data al ternates between real and imaginary on clock time boundaries. the output signal istrb is asserted when the output data is real. the istrb is enabled by device control 0x78, bit 5. in this mode, the i/q samples are decimated by two. this is the only mode in which the output data is decimated. note: when in muxed i/q mode the output order is i then q. muxed i/q at 2x rate: the ou tput data alternates between real and imaginary within a clock time boundary. the output data is real when the clock is high, and imaginary when the clock is low. all i/q samples are output, and there is no decimation of the output str eam. care should be utilized to ensure sufficient set-up time is achieved for the downstream device in the application, as data is alternating i then q between clock boundaries. complex out 1: in this mode, co mplex data is output on iin and qin, while real data is output on iout and qout. complex out 2: in this mode, real data is output on iin and qin, while complex data is output on iout and qout. complex out 3: in this mode, co mplex data is output on iin and qin and complex data is output on iout and qout. table 7. output modes output mode main control 0x0c, bit 7 complex output mode main control 0x78, bits 9:8 output mode main control 0x78, bit 10 output 2x select istrb clk iin<19:0> qin<19:0> iout<19:0> qout<19:0> cascade mode 0 00 0 x x input re input im re casout im casout real 0 01 0 x x re sum1 re sum2 re sum3 re sum4 imaginary 0 10 0 x x im sum1 im sum2 im sum3 im sum4 muxed i/q 0 11 0 1 x re sum1 re sum2 re sum3 re sum4 0 11 0 0 x im sum1 im sum2 im sum3 im sum4 muxed i/q at 2x rate 0 01 1 x 1 re sum1 re sum2 re sum3 re sum4 0 01 1 x 0 im sum1 im sum2 im sum3 im sum4 complex output mode 1 1 (ch. 0 only) 01 0 x x re sum1 im sum1 re sum3 re sum4 complex output mode 2 1 (ch. 2 only) 01 0 x x re sum1 re sum2 re sum3 im sum3 complex output mode 3 1 (ch. 0 and 2) 01 0 x x re sum1 im sum1 re sum3 im sum3 note: re casout is re sum1 + re casinput, im casout is im sum1 + im cas in. ISL5217
16 4-channel summers cascade input when in the complex cascade mode the 4-channel summer re 1 and im 1 are summed with the real and imaginary cascade inputs. the cascade input allows for more than four multi-channel transmissions by summing the complex modulated signals from other device?s. a cascade chain of four devices allows up to sixteen carriers. figure 15 illustrates cascading multiple devices. each device delays it?s 4-channel summation to align with the cascade in from the previous device. device control 0x78, bits 2:1 identifies the position in the cascade chain. device control 0x78, bit 3 zeroes the cascade-in data when the port is not in use. the output of the summation is saturated to prevent roll-over. output formatter the output can be formatted in either twos complement or offset binary. the offbin pin is used to select the output format. the output ranges from 0x8001 to 0x7fff for two?s complement and from 0x0001 - 0xffff for offset binary. microprocessor interface note: see appendix a, errata sheet the microprocessor interface allows the qpuc to appear as a memory mapped peripheral to the p. configuration data, i/q sample data and ram data can be accessed through this interface. the interface consists of a 16 bit bidirectional data bus, p<15:0>, seven bit address bus, a<6:0>, a write strobe (wr ), a read strobe (rd ) and a chip enable (ce ). tw o p interface modes are supported through the input pin rdmode . when low the device is configured for separate read and write strobe inputs. when high the device is configured for a common read/write and data strobe inputs . this mode redefines rd into read/write strobe and wr into data strobe. the address space is partitioned into five directly accessible regions, one for top control and one for each of the four channels. the device control space allows for configuration parameters that effect the entire device, cascade, output modes, and routing. the channel space allows for configuration parameters and sample data. the master registers for the configuration data and i/q sample data are located in these areas. there is a master table 8. input/output modes main control 0x78, bits 9:8 output mode outen <1:0> iin <19:0> qin <19:0> iout <19:0> qout <19:0> 00 00 input input output output 00 01 input input output hi-z 00 10 input input hi-z output 00 11 input input hi-z hi-z 01,10,11 00 output output output output 01,10,11 01 output input output hi-z 01,10,11 10 input output hi-z output 01,10,11 11 input input hi-z hi-z figure 15. cascaded qpucs p sclkx fsrx sdx master qpuc ISL5217 slave qpuc ISL5217 q out <19:0> i in <19:0> q in <19:0> i out <19:0> slave qpuc ISL5217 slave qpuc ISL5217 p sclkx fsrx sdx p sclkx fsrx sdx p sclkx fsrx sdx synco updx q out <19:0> i in <19:0> q in <19:0> i out <19:0> updx q out <19:0> i in <19:0> q in <19:0> i out <19:0> updx q out <19:0> i out <19:0> figure 16. cascade input block diagram 21 ? all registers are clocked at clk saturate circuitry i in<19:0> casz mod(20:0) 20 r e g > r e g > 20 i out<19:0> 22 ISL5217
17 register and slave register pair for each configuration parameter and i/q sample. the slave register for the i/q samples is the first location of the fifo. the master registers are clocked by the p write strobe, are writable and cleared by a hard reset. the slave registers are clocked by device clock, are readable and cleared by either a hard or soft reset. the transfer of conf iguration data from the master register to the slave register can occur synchronously after an event or immediately after a four clock synchronization period. indirect addressing is used to access the gain profile ram, the i coefficients ram and the q coefficients ram. this type of access relies on loading the ram data into direct address 0x14 and the ram address into direct address 0x15. after a four clock synchronization period of the decoded address 0x15, the contents of the ram da ta register is moved to the address pointed to by the ram address register. the p can perform back-to-back accesses to the ram data register and ram address register, but must maintain four f clk periods between accesses to the same address. this limits the maximum p access rate for the ram to 104mhz/4 = 26mhz. the ram ad dress register defines a 16-bit address space that is partitioned into pages of 256 words by indirect address <9:8>. indirect address<15> determines the access type, 1 = read; 0 = write. the address map and bit field details for the microprocessor interface is shown in the tables 10-47. the procedures for reading and writing to this interface are provided below. microprocessor read/write procedure the qpuc offers the microprocessor read/write access to all of the configuration working registers, the gain profile ram, the i coefficients ram and the q coefficients ram. rdmode determines the read/write mode for the microprocessor interface as detailed in the pin description table. the following examples have rdmode set low, which configures the interface for separate rd and wr strobes. configuration read/write procedure write access to the configuration master registers perform a direct write to the configuration master registers by setting up the address a<6:0>, data p<15:0>, and generating wr strobe. the overall configuration loading sequence is as shown. the order of writing to the device should be maintained as: 1. write the main control register 0x0c. 0x9000 sets the immediate update and microprocessor hold bits. 2. write device control 0x78, bit 0 to set the broadcast bit if writing to multiple channels. set to 0 when writing to a single channel. 3. write all remaining registers sequentially. 4. load all filter and gain coefficients. 5. repeat steps 2-4 for all channels. 6. write control word 0x0c to the final configuration values. read access to the configuration slave registers 1. perform a direct read of a configuration register by dropping the rd line low to transfer data from the register selected by a<6:0> onto the data bus p<15:0>. i/q sample read/write procedure write access to the i/q sample master registers 2. enable the parallel input format by clearing bit 15 of the serial control register, 0x11. 3. perform a direct write to control word 1 by setting up the address a<6:0>, data p<15:0>, and generating a rising edge on wr. 4. perform a direct write to control word 0 by setting up the address a<6:0>, data p<15:0>, and generating a rising edge on wr. a write strobe transfer s the contents of the i/q master registers to the first location of the fifo. 5. wait 4 clock cycles before performing the next write to the q data master register. read access to the i/q sample slave registers 1. perform a direct read of the i slave register by dropping the rd line low to transfer data from the slave register selected by a<6:0> onto the data bus p<15:0>. rdmode rd wr a<6:0> 0xc figure 17. configuration write transfer p<15:0> 0x78 0x2 0x3 9000 0x4 0x5 rdmode rd wr a<6:0> figure 18. configuration read transfer p<15:0> 0xc 0x78 0x2 0x3 0x4 0x5 hi-z data valid ISL5217
18 gain profile ram read/write procedure write access to the gain profile ram 1. enable the gain profile hold mode by setting bit 14 of the main control register 0x0c. 2. load the ram data to location 0x14. 3. load the ram write address to location 0x15. a write strobe transfers the contents of the register at location 0x14 into the ram location sp ecified by the contents of the register at location 0x15. (indirect address[15] =0). 4. wait 4 clock cycles before performing the next write to the ram data register. 5. repeat steps 2-4. 6. return gain control back to the channel by disabling the gain profile hold 0x0c, bit 14. read access to the gain profile 1. enable the gain profile hold mode by setting bit 14 of the main control register 0x0c. 2. load the ram read address and 0x8000 to location 0x15. a read strobe transfers the contents of the ram location specified by the contents of the register at location 0x15 onto the read bus. (indirec t address[15] =1, indirect address[9:8] =?00?). 3. wait 4 clock cycles before performing the next write to the ram address register. 4. repeat steps 2-3. 5. return gain control back to the channel by disabling the gain profile hold 0x0c, bit 14. coefficients ram read/write procedure (16-bit 2?s complement format) the ram address used for the i and q coefficient ram depends on the filter. indirect page 3 is used when the coefficients are equal. when the coefficients are not equal indirect page 1 is used. write access to the coefficient rams when i not equal q 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram data to location 0x14 with the q coefficient. 3. load the ram data to location 0x14 with the i coefficient. 4. load the ram write address to location 0x15. a write strobe transfers the contents of the register at location 0x14 into the ram location sp ecified by the contents of the register at location 0x15. (indirect address[15] =0, indirect address[9:8] =?01?). 5. wait 4 clock cycles before performing the next write to the ram data register. 6. repeat steps 2-5. 7. return ram control back to the channel by disabling the p hold mode. write access to the coefficient rams when i equal q 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram data to location 0x14 with the coefficient. 3. load the ram write address to location 0x15. a write strobe transfers the contents of the register at location 0x14 into the ram location specified by the contents of the register at location 0x 15. (indirect address[15] =0, indirect address[9:8] =?11?). 4. wait 4 clock cycles before performing the next write to the ram data register. 5. repeat steps 2-4. 6. return ram control back to the channel by disabling the p hold mode. read access to the i coefficient ram 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram read address and 0x8100 to location 0x15. a read strobe transfers the contents of the ram location specified by the contents of t he register at location 0x15 onto the read bus. (indir ect address[15] =1, indirect address[9:8] =?01?). 3. wait 4 clock cycles before performing the next write to the ram address register. 4. repeat steps 2-3. 5. return ram control back to the channel by disabling the p hold mode. read access to the q coefficient ram 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram read address and 0x8200 to location 0x15. a read strobe transfers the contents of the ram location specified by the contents of t he register at location 0x15 onto the read bus. (indir ect address[15] =1, indirect address[9:8] =?10?). 3. wait 4 clock cycles before performing the next write to the ram address register. 4. after all data has been loaded, return ram control back to the channel by disabling the p hold mode. coefficients ram r ead/write procedure (24-bit floating point format) the 24-bit floating point mode must be enabled by setting bit 12 of control word 0x17. the i and q coefficients must be loaded separately in this mode. write access to the coefficient rams 1. enable the p hold mode by setting bit 12 of the main control register 0x0c and bit 12 of the test control register 0x17. 2. load the ram data to location 0x14 with the icoef<3:0>, ishift<3:0>, qcoef<3 :0>, qshift<3:0>. ISL5217
19 3. load the ram data to location 0x14 with the qcoef<19:4>. 4. load the ram data to location 0x14 with the icoef<19:4>. 5. load the ram write address to location 0x15. a write strobe transfers the contents of the three previously loaded registers at location 0x14 into the ram location specified by the contents of t he register at location 0x15. (indirect address[15] =0, indi rect address[9:8] =?01?). 6. wait 4 clock cycles before performing the next write to the ram data register. 7. repeat steps 2-6. 8. return ram control back to the channel by disabling the p hold mode. read access to the coefficient ram 1. enable the p hold mode by setting bit 12 of the main control register 0x0c and bit 12 of the test control register 0x17. 2. load the ram read address and 0x8x00 to location 0x15. three read strobes are requir ed to transfers the contents of the ram location specified by the contents of the register at location 0x15 onto the read bus. indirect address[15] =1, indirect address[ 9:8] =?01?, reads back the icoef value, indirect address[ 15] =1, indirect address[9:8] =?10?, reads back the qcoef valu e, indirect address[15] =1, indirect address[9:8] =?11?, reads back the icoef<3:0>, ishift<3:0>, qcoef<3:0>, qshift<3:0> value. 3. wait 4 clock cycles between all of the above writes before performing the next write to the ram address register. 4. repeat steps 2-3. 5. return ram control back to the channel by disabling the p hold mode. channel status the present status of the channel is latched by the single channel p interface into the status 0x16 register bits 11:0. these bits represent the chann el flushed, fir and fifo overflow/underflow, fifo read address, and fifo almost and empty flags. 0x16 bits 10:7 and bit 3 are or?ed and latched into the device top control 0x7e. the bits in 0x7e represent the fault status of each channel and the saturation status of each summer. the detection of a fifo overflow puts the channel in the off-line mode, unless disabled by assertion of 0x0c, bit 1. the off-line function takes the channel off-line by forcing the fifo read address to ?000?, whic h forces 0 data out of the fifo. the channel flushed status bit in control word 0x16, may be monitored to find out when the zeroes have propagated through the entire channel pipeline chain. the channel flushed status is asserted 24 sample clocks after entering the off-line mode. once a channel fault is latched into the top control 0x7e, 15:12 a write to this location is requ ired to clear the faulted status. reset there are two types of resets, a hard reset and a soft reset. a hard reset can occur by asserting the input pin reset , or by the p issuing a reset command to the top control register 0x7f, bit 1. a hard reset affects the entire device, leaving the qpuc in an idle state awaiting configuration. this type of reset returns the master and slave registers to their default values, clears the fifo pointe r, the nco accumulators, the ram pointers, and zeroes the data ram. the data ram locations are written with a zero value immediately after the reset is deasserted. a soft reset occurs by the p issuing a reset command to the channel?s immediate action control register 0xf, bit 1. a soft reset is similar to the hard reset but does not clear the master registers and its action is limited only to that channel. a soft reset leaves the channel in an idle state, awaiting an update to begin processing. update control there are several mechanisms for updating slave registers from the master registers. if hardware updx and txenx will be used the following control bits should be programmed: 1. main control register 0x0c bit 5 must be set to 1 to enable hardware txenx and updx . 2. serial control register 0x11 bits 7:6 should be programmed to configure which txenx a channel will respond to. 3. serial control register 0x11 bits 5:4 should be programmed to configure which updx a channel will respond to. 4. update mask control register 0x0e bits 10:1 should be set to configure which slave registers will be updated from their corresponding master registers upon a non- immediate channel update. those registers with their update mask bit set to 1 are enabled registers. the 6 update mechanisms that are described below cause the slave registers to be updated from the contents of the corresponding mast er register. 1. immediate update - set bit 15 of cword 0x0c to a 1 to implement this mode. in immediate update mode, the slave register is updated 4 cl ks after the master register is written (update mask register is ignored). 2. hardware update - if the channel hardware update is enabled, upon assertion of updx , the enabled slave registers are updated. 3. software update - upon assertion of a channel software update (bit 0 of control register 0x0f), the enabled slave registers are updated. 4. external hardware txenx assertion - if the channel hardware txenable is enabled, upon assertion of txenx , the enabled slave registers are updated. 5. internal hardware txenx assertion - if the internal hardware txenable function is enabled (bit 5 of cword 0x0c), upon assertion of the internal txenx (kicked off by either type of dynamic channel update as described in items 3 and 4 above), the enabled slave registers are updated. ISL5217
20 6. software txenx assertion - upon assertion of a channel software txenx (bit 0 of cword 0x0c), the enabled slave registers are updated. starting sequence channel processing begins when the slave register of the sample frequency and the interpolation phase are updated with a non-zero value. the sample rate nco provides the timing strobes that drive the channel processing logic. the starting sequence can be applied to one channel, multiple channels, and multiple devices. when starting multiple channels through a software update, a broadcast write, to an immediate action register in the channel address space asserts an update strobe. when starting multiple qpucs through a software update, a write to the top control immediate action register, 0x78, bit 15 asserts the synco pin. the first chip acts as a master and is tied to an updx pin of the remaining chips. a delayed starting sequence of a channel can be realized by taking advantage of the on line mode defined in main control (0xc, bit 6). the on line mode allows p access to the ram?s and allows the nco?s to operate normally but inhibits processing by forcing the fifo data to zero. jtag and built in self test jtag: the ieee 1149.1 joint test action group boundary scan standard operational codes shown in table 9 are supported. a separate application note is available with implementation details and the bsdl file is available. self test is initiated by resetting the part and then loading a given configuration register set, filter coefficient set, and gain profile ramp. control word 0x78, bit 14 should be set to 1 to enter the self test mode. upon assertion of a channel 0 update anded with updatemask bit 15, the device will begin computing a signature which may then be read back from control word 0x7d, bits <14:3>. control word 0x7d, bit 15 reflects the validity (completion) of the test. this bit will be cleared upon assertion of the 0x78, bit 14 test mode bit or upon assertion of the channel 0 update and will be set to 1 upon completion of the test. power-up sequencing the ISL5217 core and i/o blocks are isolated by structures which may become forward bias ed if the supply voltages are not at specified levels. during the power-up and power-down operations, differences in the starting point and ramp rates of the two supplies may cause current to flow in the isolation structures which, when prolonged and excessive, can reduce the usable life of the device. in general, the most preferred case would be to power-up or down the core and i/o structures simultaneously. however, it is also safe to power-up the core prior to the i/o block if simultaneous application of the supplies is not possible. in this case, the i/o voltage should be applied within 10 ms to 100 ms nominally to preserve component reliability. bringing the core and i/o supplies to their respective regulation levels in a maximum time frame of a 100 ms, moderates the stresses placed on both the power supply and the ISL5217. when powering down, simultaneous removal is preferred, but it is also safe to remove the i/o supply prior to the core supply. if the core power is removed first, the i/o supply should also be removed within 10-100ms. table 9. jtag op codes supported instruction op code extest 0000 idcode 0001 sample/preload 0010 intest 0011 bypass 1111 ISL5217
21 absolute maximum ratings thermal information supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +3.8v input, output or i/o voltage . . . . . . . . . . . . gnd -0.5v to v cc +0.5v esd classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . class i operating conditions voltage range core, v ccc . . . . . . . . . . . . . . . . . . . . +2.4v to +2.6v voltage range i/o, v cccio (note 2) . . . . . . . . . . . +3.15v to +3.45v temperature range industrial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40 o c to 85 o c input low voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0v to +0.8v input high voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2v to v cc thermal resistance (typical, notes 1, 3) ja ( o c/w) 196 lead bga package. . . . . . . . . . . . . . . . . . . . . . 33 w/200 lfm air flow . . . . . . . . . . . . . . . . . . . . . . . . . 29 w/400 lfm air flow . . . . . . . . . . . . . . . . . . . . . . . . . 27 maximum package power dissipation at 85 o c 196 lead bga package. . . . . . . . . . . . . . . . . . . . . . . . . . . .1.97w maximum storage temperature range . . . . . . . . . . -65 o c to 150 o c maximum junction temperature . . . . . . . . . . . . . . . . . . . . . . 150 o c maximum lead temperature (soldering 10s) . . . . . . . . . . . . 300 o c caution: stresses above those listed in ?a bsolute maximum ratings? may cause permanent damage to the device. this is a stress o nly rating and operation of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. notes: 1. ja is measured in free air with the component mounted on a high effective thermal conductivity test board with ?direct attach? fe atures. see tech brief tb379. 2. single supply operation of both the core vccc and i/o vccio at 2. 5v is allowed. degradation of the i/o timing should be expec ted. 3. tie 196cabga package rows f, g, h, and j pins 6-9 to heat sink or ground to ensure maxi mum device heat dissipation. dc electrical specifications v ccc = 2.5 5%, v ccio = 3.3 5%, t a = -40 o c to 85 o c parameter symbol test conditions min max units logical one input voltage v ih v ccc = 2.6v, v ccio = 3.45v 2.0 - v logical zero input voltage v il v ccc = 2.4v, v ccio = 3.15v - 0.8 v clock input high v ihc v ccc = 2.6v, v ccio = 3.45v 2.0 - v clock input low v ihl v ccc = 2.4v, v ccio = 3.15v - 0.8 v output high voltage v oh i oh = -2ma, v ccc = 2.4v, v ccio = 3.15v 2.6 - v output low voltage v ol i ol = 2ma, v ccc = 2.4v, v ccio = 3.15v 0.4 v input leakage current i l v in = v ccio or gnd, v ccc = 2.6v, v ccio = 3.45v -10 10 a output leakage current i h v in = v ccio or gnd, v ccc = 2.6v, v ccio = 3.45v -10 10 a input pull-up leakage current low i sl v in = v ccio or gnd, v ccc = 2.6v, v ccio = 3.45v, tms, trst , tdi -500 - a input pull-up leakage current high i sh v in = v ccio or gnd, v ccc = 2.6v, v ccio = 3.45v, tms, trst , tdi -10 a standby power supply current i ccsb v ccc = 2.6v, v ccio = 3.45v, outputs not loaded - 5 ma operating power supply current i ccop f = 80mhz, v in = v ccio or gnd, v ccio = 3.45v, v ccc = 2.6v - 540 ma (note 4) input capacitance c in freq = 1mhz, v ccio open, all measurements are referenced to device ground - 7 pf (note 5) output capacitance c out freq = 1mhz, v ccio open, all measurements are referenced to device ground - 7 pf (note 5) notes: 4. power supply current is proportional to operation frequency. typical rating for i ccop is 7ma/mhz. 5. capacitance t a = 25 o c, controlled via design or process parameters and not dire ctly tested. characterized upon initial design and at major process or design changes. ISL5217
22 ac electrical specifications v ccc = 2.5 5%, v ccio = 3.3 5%, t a = -40 o c to 85 o c (note 6) parameter symbol min max units clk frequency f clk - 104 mhz clk clock period t clk 9.6 - ns clk high t ch 3- ns clk low t cl 3- ns setup time iin<19:0> or qin<19:0> to clk t iqisc 5- ns hold time iin<19:0> or qin<19:0> from clk t iqihc 0- ns setup time txenx to clk t tsc 4- ns hold time txenx from clk t thc 0- ns setup time updx to clk t usc 4- ns hold time updx from clk t uhc 0- ns setup time reset high to clk t rsc 4- ns hold reset high from clk (note 7) t rhc 1- ns reset low pulse width (note 7) t rpw 10 - clk cycles wr pulse width high t wpwh 5- ns wr pulse width low t wpwl 5- ns wr pulse width low (rdmode=1) t wpl1 6- ns setup time a<6:0> to wr t asw 10 - ns hold time a<6:0> from wr t ahw 0- ns setup time cs to wr t csw 4- ns hold time cs from wr t chw 0- ns setup time p<15:0> to wr t psw 8- ns hold time p<15:0> from wr t phw 0- ns enable p<15:0> from rd (note 5) t per -6 ns disable p<15:0> from rd (note 5) t pdr -6 ns setup time rd to wr (rdmode=1) (note 7) t rsw1 0- ns hold time rd from wr (rdmode=1) (note 7) t rhw1 0- ns setup time a<6:0> to wr (rdmode=1) t asw1 10 - ns hold time a<6:0> from wr (rdmode=1) t ahw1 0- ns setup time cs to wr (rdmode=1) t csw1 4- ns hold time cs from wr (rdmode=1) t chw1 0- ns setup time p<15:0> to wr (rdmode=1) t psw1 8- ns hold time p<15:0> from wr (rdmode=1) t phw1 0- ns enable p<15:0> from wr or rd (rdmode=1) (note 7) t pewr1 -6 ns disable p<15:0> from wr or rd (rdmode=1) (note 7) t pdwr1 -6 ns setup time sdx to sclkx t sss 8- ns hold time sdx from sclkx t shs 0- ns iout<19:0> or qout<19:0> enable time from outen<1:0> (note 7) tiqoe - 7 ns iin<19:0> or qin<19:0> enable time from clk (note 7) t iqie -8 ns iout<19:0> or qout<19:0> disable time from outen<1:0> (note 7) tiqod - 6 ns iin<19:0> or qin<19:0> disabl e time from clk (note 7) t iqid -7 ns ISL5217
23 iin<19:0> or qin<19:0> delay time from clk t iqidc 27 ns iout<19:0> or qout<19:0> delay time from clk t iqodc 27 ns iin<19:0> or qin<19:0> valid time from clk, 2x rate t iqvc2x 28 ns iout<19:0> or qout<19:0> vali d time from clk, 2x rate t iqvc2x 28 ns sclkx valid time from clk, sclx = clk t svc1x 27 ns sclkx valid time from clk, sclx = divided clk tsvc 2 7 ns istrb delay time from clk t idc 26 ns fsrx delay time from clk t fdc -7 ns synco delay time from clk t sdc -9 ns p<15:0> delay time from clk t pdc -16 ns p<15:0> delay time from a<6:0> or cs t pdac -20 ns p<15:0> delay time from a<6:0> or cs (rdmode=1) t pdac1 -20 ns output rise/fall time (note 7) t rf -3 ns notes: 6. ac tests performed with c l = 70pf. input reference level for clk is 1.5v, all other inputs 1.5v. test v ih = 3.0v, v ihc = 3.0v, v il = 0v, v ol = 1.5v, v oh = 1.5v. 7. controlled via design or process parameter s and not directly tested. characterized upon initial design and at major process o r design changes. ac electrical specifications v ccc = 2.5 5%, v ccio = 3.3 5%, t a = -40 o c to 85 o c (note 6) (continued) parameter symbol min max units ac test load circuit equivalent circuit c l ? i oh 1.5v i ol dut switch s 1 open for i ccsb and i ccop s 1 ? test head capacitance waveforms figure 19. clock and reset timing figure 20. serial interface relative timing clk t rsc t rpw reset t ch t cl t clk t clk = 1 / f clk t rhc clk sclkx fsrx sdx t sss t shs t svc t fdc ISL5217
24 figure 21. input/output timing figure 22. enable/disable timing figure 23. muxed iq at 2x output timing figure 24. sclkx output timing in 1x mode figure 25. microprocessor write timing (rdmode = 0) figure 26. microprocessor write timing (rdmode = 1) waveforms (continued) clk qin<19:0> in<19:0>, valid t iqisc t iqihc valid synco t sdc p<15:0> valid t pdc txenx t usc, t tsc t uhc, t thc updx, istrb t idc clk outen<1:0> t iqie t iqid qin<19:0> iin<19:0>, qout<19:0> iout<19:0>, t iqoe t iqod t iqidc t iqodc clk qout<19:0> iout<19:0>, qin<19:0>, iin<19:0>, t iqvc2x clk sclkx t svc1x rd wr a<6:0> p<15:0> cs valid t csw t chw t asw t ahw valid t phw t psw t wpwl t wpwh rd (rd/wr ) wr (ds) a<6:0> p<15:0> cs valid t asw1 valid t phw1 t ahw1 t psw1 t rsw1 t rhw1 t csw1 t chw1 t wpwl1 ISL5217
25 programming information figure 27. microprocessor read timing (rdmode = 0) figure 28. microprocessor read timing (rdmode = 1) waveforms (continued) rd wr a<6:0> p<15:0> cs valid valid t pdr t per t pdac rd (rd/wr ) wr (ds) a<6:0> p<15:0> cs valid valid t pdwr1 t pewr1 t pdac1 table 10. ISL5217 memory map address(6:0) device memory map (000 0000) - (001 0111) 0x00 - 0x17 channel 0 (001 1000) - (001 1111) 0x18 - 0x1f undefined (010 0000) - (011 0111) 0x20-0x37 channel 1 (011 1000) - (011 1111) 0x38 - 0x3f undefined (100 0000) - (101 0111) 0x40-0x57 channel 2 (101 1000) - (101 1111) 0x58 - 0x5f undefined (110 0000) - (111 0111) 0x60-0x77 channel 3 (111 1000) - (111 1111) 0x78-0x7f device control notes: 8. consecutive accesses to the same address require a 4 cloc k synchronized update to occur before beginning the next accesses. 9. different direct address locations c an be accessed without having to wait fo r a 4 clock synchronized update to occur. 10. all configuration registers have a master/slave architecture. the ma ster registers are clocked by wr . the slave registers are clocked by clk. 11. the master registers are writable and cleared by a hard reset. all master registers are located in the sc p block. 12. the slave registers are readabl e and cleared by either a hard or soft reset. refe r to the table to determine location of sla ve registers. 13. partition indirect address space into pages of 256 words. 14. decode indirect address <9:8> to determine page, (3 used). 15. indirect address<14:10> are not used. 16. indirect address<15> determines access type. 1=read; 0=write. ISL5217
26 device control registers table 11. device control register map address (6:0) type update strobe slave location function reset default 11 1 1000 (0x78) r/w qc p intf device control <15:0>. 0x0000 11 1 1001 (0x79) r/w x qc p intf device output routing control <15:0>. 0x0000 11 1 1010 (0x7a) not used. - 11 1 1011 (0x7b) not used. - 11 1 1100 (0x7c) not used. - 11 1 1101 (0x7d) r qc p intf bist and device revision code <15:0>. 0x0001 11 1 1110 (0x7e) r/w qc p intf device status <15:0>. 0x0000 11 1 1111 (0x7f) w n/a device immediate action <15:0>. 0x0000 table 12. bist and device revision type: device control direct, address: 0x7d bit function description 15 bist valid reflects the validity of the built in self te st (bist) signature. the bit is cleared upon assertion or de- assertion of the test mode bit in 0x78, bit 14, and set to one upon completion of the bist. bist signature is valid when the bit is one. 14:3 bist signature built in self test resultant signature. 2:0 revision status revisi on status currently 001. note: bits listed as reserved should be set to 0 for backwards compatibility. table 13. device status type: device control direct, address: 0x7e bit function description 15 ch3 summary fault fifo overflow or saturation detected. 14 ch2 summary fault fifo overflow or saturation detected. 13 ch1 summary fault fifo overflow or saturation detected. 12 ch0 summary fault fifo overflow or saturation detected. 11 output summary fault saturation detected. 10 reserved not used. 9 cascade i sat saturation detected, data saturates to most positive value or most negative value + 1. 8 cascade q sat saturation detected, data saturates to most positive value or most negative value + 1. 7 output summer 4, i sat saturation detected, data saturates to most positive value or most negative value + 1. 6 output summer 4, q sat saturation detected, data saturates to most positive value or most negative value + 1. 5 output summer 3, i sat saturation detected, data saturates to most positive value or most negative value + 1. 4 output summer 3, q sat saturation detected, data saturates to most positive value or most negative value + 1. 3 output summer 2, i sat saturation detected, data saturates to most positive value or most negative value + 1. 2 output summer 2, q sat saturation detected, data saturates to most positive value or most negative value + 1. 1 output summer 1, i sat saturation detected, data saturates to most positive value or most negative value + 1. 0 output summer 1, q sat saturation detected, data saturates to most positive value or most negative value + 1. notes: 17. channel summary fault is the logical or?ing of channel status <10:7,3>. 18. clear fault by writing ?1? to each summary fault bit (15:11). 19. channel summary status is cleared as well as the channel status word. 20. output summary fault clear s top status bits <9:0>. ISL5217
27 single channel direct control registers table 14. device immediate action type: device control direct, address: 0x7f bit function description 15:2 reserved not used. 1 reset hard reset. self clearing pulse zeroes data rams, returns master and slave configurat ion registers to their default values, etc. the device is in an idle state after reset. 0 sync out software sync out. self clearing pulse us ed to synchronize multiple devices. see figure 3. table 15. single channel direct register map direct address (4:0) type update strobe always update immediate slave location function reset default 00 r/w x x fifo i channel input or fm <15:0>. - 01 r/w x fifo q channel input <15:0>. - 02 r/w sample nco fixed integer divider <31:16> msw. 0x0000 03 r/w x sample nco fixed integer divider <15:0> lsw. 0x0000 04 r/w sample nco sample freq <47:32>, msw. 0x0000 05 r/w sample nco sample freq <31:16>. 0x0000 06 r/w x sample nco sample freq <15:0>, lsw. 0x0000 07 r/w x carrier nco carrier freq static phase offset <15:0>. 0x0000 08 r/w carrier nco carrier freq msw <15:0>. 0x0000 09 r/w x carrier nco carrier freq lsw <15:0>. 0x0000 0a r/w x final gain gain <15:0>. 0x0000 0b r/w x p interface gain profile length <8:0>. 0x0000 0c r/w x p interface main control <15:0>. 0x0000 0d r/w x timing and cntrl, sample nco, iq fifo, fir and gain fir control <15:0>. 0x0000 0e r/w x p interface update mask <15:0>. 0x0000 0f w p interface immediate action<15:0>. 0x0000 10 r/w x p interface polarity control<15:0>. 0x0000 11 r/w x timing and cntrl, serial interface serial control <15:0>. 0x0000 12 r/w x serial interface i serial time slot<15:0>. 0x0000 13 r/w x serial interface q serial time slot<15:0>. 0x0000 14 w p interface ram data <15:0>. 0x0000 15 w x p interface ram address <15:0>. - 16 r p interface status <15:0>. 0x0000 17 r/w x p interface test control<15:0>. 0x0000 18:1f not used. 0x0000 ISL5217
28 table 16. i channel input or fm (15:0) type: single channel direct, address: 0x00 bit function description 15:0 i channel qask input or fm input i(15:0). in qask mode, this is the i input vector. t he format is 2?s complement. the msb is bit 15. the mixer operation is: out = (i*cos) - (q*sin). in fm mode, this is interpreted as an offset fr equency to the center frequency. the modulation index depends on the mode and the filter coefficients. in fm with post filter mode, the phase change per input sample can range from -180 to 180 degrees , so the deviation is limited to (input sample rate)/2. table 17. q channel input (15:0) type: single channel direct, address: 0x01 bit function description 15:0 q channel input q(15:0). in qask mode, this is the q input vector. see address 0 above. in fm mode, this input is not used. note: writing to the i channel input generates the update strobe to move the data into the iq fifo. normal write order is q then i. table 18. fixed integer divider, msw type: single channel direct, address: 0x02 bit function description 15:0 fixed integer divider fid(31:16) is loaded in this address. see address 3. table 19. fixed integer divider, lsw type: single channel direct, address: 0x03 bit function description 15:0 fixed integer divider fid(15:0) is loaded in this address. the fixed integer divider is a 32 bit counter clocked at the outp ut clock rate. the carryout is used to clear the fine and /or coarse phase of the sample rate nco. allows fixed integer sample rates. the fixed integer divider is computed by the formula: fid (31:0) = int [fclk/ fco] note: writing to the lsw generates the update strobe to load the slave configuration reg when in the immediate mode table 20. sample frequency (47:32) msw type: single channel direct, address: 0x04 bit function description 15:0 sample rate nco sf(47:32) is l oaded in this address. see address 6. table 21. sample frequency (31:16) type: single channel direct, address: 0x05 bit function description 15:0 sample rate nco sf(31:16) is load ed in this address. see address 6. table 22. sample frequency (15:0) lsw type: single channel direct, address: 0x06 bit function description 15:0 sample rate nco sf(15:0) is loaded in this address. the samp le rate is controlled by a 48- bit nco clocked at the output clock rate. the sample rate is computed by the formula: sf (47:0) = int [(f s / f clk ) * 2 48 ] note: writing to the lsw generates the update strobe to load the slave configuration reg when in the immediate mode. ISL5217
29 table 23. carrier phase offset (15:0) type: single channel direct, address: 0x07 bit function description 15:0 carrier phase offset initializes the most -significant 16-bits of the phase accumulator. the carrier phase offset is computed by the formula: carrier phase offset (15:0) = int [(phase offset 0 / 3600 * 2 32 )) /216] table 24. carrier frequency (31:16) msw type: single channel direct, address: 0x08 bit function description 15:0 carrier nco cf(31:16) is loaded in this address. table 25. carrier frequency (15:0) lsw type: single channel direct, address: 0x09 bit function description 15:0 carrier nco cf(15:0) is loaded in this address. the sin/ cos generator is controlled by a 32-bit nco clocked at the output clock rate. the center frequ ency is computed by the formula: f c = cf(31:0) x fclk x 2 -32 ; cf(31:0) = int(fc/fclk x 2 32 ). note: writing to the lsw generates the update strobe to load the slave configuration reg when in the immediate mode table 26. gain type: single channel direct, address: 0x0a bit function description 15 reserved not used. 14:12 step atten (2:0) select 1 of 8 fixed attenuations 000 - scale by 4096 001 - scale by 256 010 - scale by 32 011 - scale by 16 100 - scale by 8 101 - scale by 4 110 - scale by 2 111 - scale by 1 11:0 unsigned gain multiplier the gain mu ltiplier is computed by the formula: gain(11:0) =[10 |(gain(db)| / 20 ) 2 12 ]hex bit weight. 2 -1 2 -2 ... 2 -12 maximum 0xfff = 1.0 - 2-12 =0.9998 0x800 = 0.5 0x001 = 2 -12 minimum 0x000 = 0.0 table 27. gain profile type: single channel direct, address: 0x0b bit function description 8:7 gain profile latency set bit 7 high to re move two edge latencies from the delay path. this should be combined ds=3, ip=4 settings to provide perfect symmetry through the gain bl ock. set bit 8 high to bypass all latency alignment circuitry and to use txenx as input to the channel. 6:0 gain profile length set to the upper address used for the gain profile ram. ISL5217
30 table 28. main control type: single channel direct, address: 0x0c bit function description 15 immediate update (sc conf reg update) 0 = allows the configuration slave registers to be synchronou sly updated based the update mask. 1 = allows p writes to bypass the update mask and load the selected configuration slave register immediately from the master, (requires 4 clk synchronization). 14 gain profile hold allows p access to the gain profile ram. upon assert ion the device will hold the last address and gain value from the ramp. when deasserted, the gain prof ile ram output returns to the ramp address and value currently loaded. normal access would be to re -load the coefficients with the gain profile ram ramping function having completed (either up or down). 0 = normal access by the hardware. 1 = p access for loading the gain profile coefficients. 13 delay select 0 = no delay. 1 = 1/2 coarse sample delay inserted in the i/q path after the fir. 12 p hold allows p access to the i and q coefficient rams. 0 = normal access by the hardware. 1 = p access for loading filter coefficients. 11 txenx control set to one to enable the internal generation and control of txenx based on the programmed values of indirect registers 0x400-0x 404 and 0x407. set to zero (default) to input txenx externally. 10:8 almost empty threshold (2:0) almost empty threshold (2:0). fifo depth threshold (number of data samples in the fifo - 1) at which the almost empty flag will be asserted, alerting the dat a source that more input data is required in the fifo. the fifo threshold sets both the i and q fifo thresholds. (2) is the msb. 7 complex output mode allows complex data out at the full rate when in 4-ch re output mode. the effect of this setting depends on the channel. ch 0 = over-rides selection of re sum2 and selects im sum1 for output. ch 1 = n/a. ch 2 = over-rides selection of re sum4 and selects im sum3 for output. ch 3 = n/a. 6 on-line mode 0 = off line - zeroes data from fifo - (reset fifo cntrl forces rd_addr to 0 which selects zero value data for i and q) this takes 24 sample-clocks to flus h the channel. the status bit ch flushed will be asserted when complete. 1 = on line - allows normal operation of the iq fifo?s. 5 input en enables input of selected hw tx_enable and hw update. 4 channel output en 0 = disables output of channel, clears data to zero. 1 = enables output of channel. passes data. 3 txenx sib control disables txenx control of the serial interface block (s ib) and allows it to continue running independent of the txenx signal. data input should be zeroed during txenx low time, as the data will continue to be processed by the sib. 0 = normal txenx control of sib. 1 = txenx sib control disabled. 2 txenx channel flush disables txenx control of the channel flushing. setting th is bit will stop the dev ice from flushing the channel and fir data ram with zeroes upon the rising edge of txenx . 0 = normal txenx channel flushing. 1 = txenx will not flush the channel. 1 fifo overflow reset disables the fifo ov erflow channel reset function. this is only applicable in the parallel input mode. 0 = normal fifo overflow channel reset. 1 = fifo overflow channel reset disabled. 0 sw tx enable rising edge flushes data ra m, (16 clks) and updates c onfiguration slave regist ers as determined by the update mask. high level allows serial requests to occur. low level inhi bits additional serial data requests, (assertion tx frame strobe). ISL5217
31 table 29. fir control type: single channel direct, address: 0x0d bit function description 15 gain profile mode enables gain profile to slew gain value during transitions of tx enable 14 clear sample phase when enabled will clear samp le phase on immediate update of sample frequency 0 = maintain sample phase 1 = clear sample phase. 13 fm_mode disable set to 1 to disable the internal fm_mode signal to the serial interface bloc k. this keeps the i/q input sample alignment such that the serial interface blo ck expects both the i and q time slot counters to count down to 0 prior to transferring the i/q samples to the fifo. loss of synchroni zation of the i/q samples can occur when switching fm modes without this bit set. 12 fixed integer mode enables the fixed in teger divider in the sample rate nco 11:10 phase offset (1:0) the phase accumulator of the samp le rate nco can be offset by increments of 90 degrees. 00 = 0 0 01 = 90 0 10 = 180 0 11 = 270 0 9 half band filter enable 0=half band filter bypas sed (default). 1=half band filter enabled. 8 coefficient switch selects second filt er coefficients in coefficient ram. 7:4 data span (3:0) data span(3:0). number of data samples in s haping filter, 4-16. load with number of data samples minus 1. 3:2 modulation type (1:0) modulation type(1:0) 00 = qask - psk or qam modulation. 01 = fm post-filtering - analog fm modulation. filt ering after fm modulation (baseband filtering provided before ISL5217). in this mode both i and q filters are used. 10 = fm pre-filtering - fsk, gmsk modulation. filter ing before fm modulation. in this mode, only the i filter is used. 11 = invalid state. 1:0 interpolation phases (1:0) interpolation phases(1:0) number of coarse interpolation phases: 00 = forces coarse and fine phase to zero. 01 = 4. 10 = 8. 11 = 16. notes: 21. qask mode data flow - fifo -> shapi ng filter -> interpolating filter 22. fm post mode data flow - fifo -> fm modula tor -> shaping filter -> interpolating filter 23. fm pre mode data flow - fifo -> shaping filt er -> fm modulator -> interpolating filter 24. the q fifo is not used when in the fm mode. table 30. update mask type: single channel direct, address: 0x0e bit function description 15 pn-generator 1 = update, 0 = no update. pn-generator is synchronously rese t via the channel 0 updx signal anded with this mask bit. 14:11 reserved not used. 10 serial control, i and q time slot 1 = update, 0 = no update. 9 fir control 8gain 7 carrier phase 6 carrier freq ISL5217
32 5 sample rate divider 4 sample rate freq 3 sample fine phase 2 sample coarse phase 1 routing control 0 i strobe 1 = update, 0 = no update. notes: 25. the mask register enables the slave registers to be updated from a hardware or software strobe. 26. the mask register is not used when p is updating a configuration slave register immediately. 27. there is no immediate update on the i strobe. 28. update mask <1> only affects the top routing control nibble for this channel. table 30. update mask (continued) type: single channel direct, address: 0x0e bit function description table 31. immediate action type: single channel direct, address: 0x0f bit function description 15:2 reserved not used 1 soft reset (channel reset) soft reset. self clearing pulse zeroes fifo?s, zeroes data rams, and clears all but the master registers. the device will reload the slav e configuration registers on t he next tx enable or update strobe 0 software update (general update) software update self clearing pulse allows p write to load all configurati on slave registers synchronously as determined by the update mask. the softwar e equivalent of the hardware update strobe table 32. polarity control type: single channel direct, address: 0x10 bit function description 15:4 reserved n/a 3 tx enable polarity tx enable polarity 0 = defines an assertion as a transiti on from a logic low to a logic high 1 = defines an assertion as a transiti on from a logic high to a logic low 2 update polarity update polarity. 0 = defines an assertion as a transiti on from a logic low to a logic high 1 = defines an assertion as a transiti on from a logic high to a logic low 1 fsr polarity frame strobe polarity. 0 = defines an assertion as a transit ion from a logic low to a logic high 1 = defines an assertion as a transiti on from a logic high to a logic low 0 serial clk polarity serial clk polarity. 0 = defines an assertion as a transiti on from a logic low to a logic high 1 = defines an assertion as a transiti on from a logic high to a logic low 0 = 1 = 0 = 1 = 0 = 1 = 0 = 1 = ISL5217
33 table 33. serial control (13:0) type: single channel direct, address: 0x11 bit function description 15 serial/parallel data select selects the source of the symbol data for input. 0 = p port, (parallel interface) 1 = serial port, (one of four serial ports) 14 epoch frame strobe enable selects a pre-carry out of the fixed integer divider instead of the serial frame strobe. the pre-carry out is six clocks ahead of the true carry out. this strobe is used to synchronize fix ed integer dividers on other devices. 0 = serial frame strobe. 1 = epoch frame strobe. 13:10 serial clock rate (3:0) clock divi der to generate 1 of 16 serial clock rates 0000 = clk/2 1101 = clk/28 0001 = clk/4 1110 = clk/30 0010 = clk/6 1111 = clk/32 9:8 serial clock mode (1:0) selects t he source for serial tx clock output. 00 = disables serial clock divider and serial clock out. 01 = select 1x clock rate. 10 = select divided clock rate. 11 = select 32x sample clock rate. 7:6 select tx enable (1:0) selects the tx enable port. the rising edge flushes data, (16 clks) and updates configuration slave registers as determined by the update ma sk. high level allows serial reques ts to occur. low level inhibits additional serial data requests, (a ssertion of tx frame strobe). 00 = tx enable a. 01 = tx enable b. 10 = tx enable c. 11 = tx enable d. 5:4 select update(1:0) selects the update port. the update str obe is used to update all slave configuration registers as determined by the update mask. 00 = update a. 01 = update b. 10 = update c. 11 = update d. 3:2 serial word length (1:0) selects the word length of the incomi ng serial data the value is for one data word and is the same f or both i and q data. 00 = 16 bits. 01 = 12 bits. 10 = 8 bits. 11 = 4 bits. 1:0 select serial data in (1:0) selects the serial data in port. 00 = serial data a. 01 = serial data b. 10 = serial data c. 11 = serial data d. table 34. i - serial time slot type: single channel direct, address: 0x12 bit function description 15:10 reserved not used. 9:0 i time slot(9:0) the i - serial time slot is a 10 bit counter clocked at the se rial clock rate. the counter begins on assertion of the frame strobe. the carryout det ermines when a valid i symbol has been shifted in. table 35. q - serial time slot type: single channel direct, address: 0x13 bit function description 15:10 reserved not used. 9:0 q time slot (9:0) the q - serial time slot is a 10 bit counter clocked at the serial clock rate. the counter begins on assertion of the frame strobe. the carryout det ermines when a valid q symbol has been shifted in. ISL5217
34 notes: 29. when in the qask mode, the i and q symbols will not be moved into the fifo until both have been received. 30. when in the fm mode, the i symbol is moved to the fifo after it has been shifted in. 31. the order of the i and q symbols is based on the i and q time slot values. table 35. q - serial time slot (continued) type: single channel direct, address: 0x13 bit function description table 36. ram data (15:0) type: single channel direct, address: 0x14 bit function description 15:0 ram data indirect data port for the ga in profile, i and q coefficients rams. table 37. ram address (15:0) type: single channel direct, address: 0x15 bit function description 15:0 ram address indirect address port for the gain profile, i and q coefficients rams. the msb determines the type of access. 1 = read 0 = write. table 38. status (15:0) type: single channel direct, address: 0x16 bit function description 15:12 reserved not used. 11 channel flushed indicates zero valued data has propagated th rough the channel after entering the off-line mode. counts 24 consecutive fifo reads after deassertion of on-line control bit, main control, 0x0c, bit 6. 10 i fir overflow i fir accumulator output saturates to most positive value. 9 i fir underflow i fir accumulator output saturates to most negative value + 1. 8 q fir overflow q fir accumulator output saturates to most positive value. 7 q fir underflow q fir accumulator output saturates to most negative value + 1. 6:4 fifo read address <2:0> fifo read address range 0 to 7, 0 = empty, 7 = full. 3 fifo underflow fifo read address = 0, fifo write =0, fifo read =1. 2 fifo overflow fifo read address = 7. 1 fifo almost empty fifo read address < almost empty threshold. 0 fifo empty fifo read address = 0. notes: 32. status bits <10:7,3> are or?ed and latched by the top p interface. 33. status bits <11:0> are latched by the single channel p interface. 34. the status register is cleared by writing to the top status register. 35. detection of fifo overflow puts the channel in the off-line mode. 36. the channel flushed status is be asserted 24 sample clocks after entering the off-line mode. ISL5217
35 single channel indi rect registers table 39. single channel indirect register map indirect address page type update strobe slave location function 000 .. 07f 0 r/w gain profile 080 .. 0ff 0 not used 100 .. 1ff 1 r/w read i coefficients. write i and q shaping filter coefficients when i and q are not equal. 200 .. 2ff 2 not used. 300 .. 3ff 3 r/w read q coefficients. write i and q shaping filter coefficients when i and q are equal. 400 .. 407 4 r/w txenx programmed cycle values. 408 .. 4ff 4-f not used. table 40. gain profile (15:0) type: single channel indirect, address range: 0x000-0x07f (page 0) bit function description 15:12 reserved not used. 11:0 gain profile 128 location ram that multiplies the channel ga in in incremental steps at the coarse phase rate. the gain profile is enabled by control word 0x0d[15]. the address is reset to zero on assertion of the gain profile enable. the address is incremented by one with each change in coarse phase after assertion of the tx enable. the address is held upon reaching the upper addr ess used for the gain profile ram, gain profile length 0x0b. on deassertion of the tx enable the gain profile address is decremented back to zero. bit weight 2 0 . 2 -1 2 -2 ... 2 -11 maximum 0x800 = 1.0 0x001 = 2-11 minimum 0x000 = 0.0 notes: 1. the contents of the last used location must be 0x800, (specified by the gain profile length). write access to the gain profile ram: 1. enable the gain profile hold m ode by setting bit 14 of the main control register 0x0c. 2. load the ram data to location 0x14. 3. load the ram write address to location 0x15. a write strobe trans fers the contents of the register at location 0x14 into the ram location specified by the contents of the register at location 0x15. (indirect address[15] =0). 4. wait 4 clock cycles before performing the next write to the ram data register. 5. repeat steps 2-4. 6. return gain control back to the channel by disabling the gain profile hold 0x0c, bit 14. read access to the gain profile: 1. enable the gain profile hold m ode by setting bit 14 of the main control register 0x0c. 2. load the ram read address and 0x8000 to location 0x15. a read st robe transfers the contents of the ram location specified by the contents of the register at location 0x15 onto the read bus. (indirect address[15] =1, indirect address[9:8] =?00?). 3. wait 4 clock cycles before performing th e next write to the ram address register. 4. repeat steps 2-3. 5. return gain control back to the channel by disabling the gain profile hold 0x0c, bit 14. ISL5217
36 table 41. i and q channel coefficients (15:0) type: single channel indirect, address range: 0x100-0x1ff (page 1) bit function description 15:0 filter coefficient 256 location ram. use this page when the i and q coefficients are different. notes: coefficients ram read/write procedure (16-bit 2?s complement format) write access to the coefficient rams when i not equal q: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram data to location 0x14 with the q coefficient 3. load the ram data to location 0x14 with the i coefficient 4. load the ram write address to location 0x15. a write strobe trans fers the contents of the register at location 0x14 into the ram location specified by the contents of the register at location 0x 15. (indirect address[15] =0, indirect address[9:8]=?01?). 5. wait 4 clock cycles before performing the next write to the ram data register. 6. repeat steps 2-5. 7. return ram control back to the channel by disabling the p hold mode. read access to the i coefficient ram: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram read address to location 0x15. a read strobe transfers the contents of the ram location specified by the conten ts of the register at location 0x15 onto the read bus. (indirect address[15] =1, indirect address[9:8]=?01?). 3. wait 4 clock cycles before performing th e next write to the ram address register. 4. repeat steps 2-3. 5. return ram control back to the channel by disabling the p hold mode. read access to the q coefficient ram: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram read address to location 0x15. a read strobe transfers the contents of the ram location specified by the conten ts of the register at location 0x15 onto the read bus. (indirect address[15] =1, indirect address[9:8] =?10?). 3. wait 4 clock cycles before performing th e next write to the ram address register. 4. after all data has been loaded, return ram c ontrol back to the channel by disabling the p hold mode coefficients ram read/write procedure (24-bit floating point format) write access to the coefficient rams: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram data to location 0x14 with the icoef<3:0>, ishift<3:0>, qcoef<3:0>, qshift<3:0>. 3. load the ram data to location 0x14 with the qcoef<19:4>. 4. load the ram data to location 0x14 with the icoef<19:4>. 5. load the ram write address to location 0x15. a write strobe tr ansfers the contents of the th ree previously loaded registers at location 0x14 into the ram location specified by the cont ents of the register at location 0x15. (indirect address[15] =0, indirect address[9: 8] =?01?). 6. wait 4 clock cycles before performing the next write to the ram data register. 7. repeat steps 2-6. 8. return ram control back to the channel by disabling the p hold mode. read access to the coefficient ram: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram read address to location 0x15. three read strobes are required to trans fers the contents of the ram location sp ecified by the contents of the register at location 0x15 onto the read bus. indi rect address[15] =1, indirect address[9:8] =?01?, reads back t he icoef value, indirect address[15] =1, indirect address[9:8] =?10?, reads back t he qcoef value, indirect address[15] =1, indirect address[9:8 ] =?11?, reads back the icoef<3:0>, ishift<3:0>, qcoef<3:0>, qshift<3:0> value. 3. wait 4 clock cycles between all of the above writes befor e performing the next write to the ram address register. 4. repeat steps 2-3. 5. return ram control back to the channel by disabling the p hold mode. ISL5217
37 table 42. i and q channel coefficients (15:0) type: single channel indirect, address range: 0x300-0x3ff (page 3) bit function description 15:0 filter coefficient 256 location ram. use this page when the i and q coefficients are the same. notes: coefficients ram read/write procedure (2?s complement format only) write access to the coefficient rams when i equal q: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram data to location 0x14 with the coefficient. 3. load the ram write address to location 0x15. a write strobe trans fers the contents of the register at location 0x14 into the ram location specified by the contents of the register at location 0x 15. (indirect address[15] =0, indirect address[9:8]=?11?). 4. wait 4 clock cycles before performing the next write to the ram data register. 5. repeat steps 2-4. 6. return ram control back to the channel by disabling the p hold mode. read access to the q coefficient ram: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the ram read address to location 0x15. a read strobe transfers the contents of the ram location specified by the conten ts of the register at location 0x15 onto the read bus. (indirect address[15] =1, indirect address[9:8]=?11?). 3. wait 4 clock cycles before performing th e next write to the ram address register. 4. after all data has been loaded, return ram c ontrol back to the channel by disabling the p hold mode. table 43. txenx control type: single channel indirect, address range: 0x400-0x407 (page 4) indirect address function description 0x400 txenx cycle 0 low txenx cycle 0 low time count <15:0>. 0x401 txenx cycle 0 high txenx cycle 0 high time count <15:0>. 0x402 txenx cycle 1 low txenx cycle 1 low time count <15:0>. 0x403 txenx cycle 1 high txenx cycle 1 high time count <15:0>. 0x404 - 0x406 reserved not used. 0x407 txenx cycle lengths fsrmode<1:0>, cycle 1 length<4:0>, cycle 0 length<4:0> notes: fsrmode affects what is output on the channel fsrx pin, but only if txenx control, control word 0x0c, bit 11 is set to one. the fsrmode<1:0> is defined as: 00 no change to fsrx output. 01 no change to fsrx output. 10 fsr = internal channel updx. 11 fsr = internal channel txenx. txenx sib control (0x0c, bit 3) must be set w hen fsrmode 11 is utilized, otherwise a txenx glitch will be observed on the rising edge of txenx . to start the txenx cycle function following a reset, the user must provi de a normal channel update via one of the 2 possible update mechanisms (software or hardware). an update also resets all of the txenx counters and starts the devic e up in cycle 0 with txenx high. write access to the txenx cycle controls: 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the data to location 0x14. 3. load the indirect write address to location 0x15. a write strobe transfers the contents of the r egister at location 0x14 int o the location specified by the contents of the register at lo cation 0x15. (indirect address[15] =0). 4. assert the write strobe again to update the configuration register. 5. wait 4 clock cycles before performing the next write to the data register. 6. repeat steps 2-5. 7. return control back to the channel by disabling the p hold mode. read access to the txenx cycle controls: care should be utilized to only read regi sters back immediately after writing since loading indirect addr 0x15 with 040x causes 0x040x to get loaded with indirect r egister 0x14?s contents. 1. enable the p hold mode by setting bit 12 of the main control register 0x0c. 2. load the read address to location 0x15. a read strobe transfers the contents of the ram location specified by the contents o f the register at location 0x15 onto the read bus. (indirect address[15] =1). 3. wait 4 clock cycles before performing the next write to the address register. 4. return control back to the channel by disabling the p hold mode. ISL5217
38 miscellaneous control registers table 44. test control (15:0) type: single channel direct, address: 0x17 bit function description 15 fsrx and sclkx shut off fsrx and sclkx , from default, turn off synchronously to clk. set to 1 to enable fsrx and sclkx signals to be shut off on the boundary of sclkx . 14:13 serial transfer delay set both these bits to allow back-to- back serial transfers by programming the delay for the internal serial data. setting 0x17, bit 14 delays the internal se rial data bit by the serial clock pipeline latency through the input pad. setting 0x17, bit 13 delays and aligns the internal sample_clk_32x to match the fifo timing so no dead cycles occur. 12 filter coefficient mode set to 1 to enable 24-bit floating point m ode. default (reset) mode is 16-bit 2?s complement. 0=2?s complement. 1=24-bit floating point. 11 reserved not used . 10 pad hold adjustment hold select for serial data. 9 pad hold adjustment hold select for cs and a[6:0]. 8 pad hold adjustment hold select for d in of iin[19:0] and qin[19:0]. 7 pn gen enable turn on pn generator. 6 pn gen rate when asserted high forces pn gen to run at the clock rate. when asserted low forces pn gen to run at the symbol rate 5 reserved not used 4 straight thru pass fifo output directly to the int filter, (bypasses the shaping filter and fm generator) 3 select pn generator select pn generat or as the source for fifo data in 2 force edge bypass sample nco control and move data in the shaping and interpol ation filter every clock 1 force fifo en bypass sample nco control and move data from the fifo every clock. 0 force carrier rom force output of sin/cos rom, sin=cos= 0x1ffff. note: test controls (10:7) are valid for channel 0 only. they are not used and cleared to zero in channels 1-3. table 45. device control type: device control direct, address: 0x78 bit function description 15 immediate update (top cont. reg update) allows p writes to bypass the update mask and load the selected top configuration slave register immediately from the master, (requires 4 clk sync hronization). this update only affects top output routing control, 0x79. 14 bist mode control built in self test (bist) mode control pin. set to 1 to enter the bist test mode. 0=bist disabled (default). 1=bist mode enabled. 14:11 reserved not used 10 output 2x select used to set the muxed i/q at 2x rate output mode to output data at twice the sample rate. when enabled the clock is used to select i data when the clock is high and q data when the clock is low. this bit is only used in conjunction with output mode (1:0) = 01, se lecting four channel i data out at 104mhz, (4 x 20) when disabled, and muxed i/q at the 2x rate when enabled. 0 = disabled 1 = enabled 9:8 output mode (1:0) configures output mode of device.a 00 = i and q cascade in, (2 x 20), i and q cascade out, (2 x 20) 01 = four channel i data out at 104mhz, (4 x 20) 10 = four channel q data out at 104mhz, (4 x 20) 11 = four channel muxed i/q data out at 52mhz, (4 x 20) ISL5217
39 7 sync out polarity sync out polarity 0 = defines a sync assertion as a trans ition from a logic low to a logic high. 1 = defines a sync assertion as a trans ition from a logic high to a logic low. 6 output enable enables data out of the device. zeroes the data when low. 5 i strobe enable indicates when i data is output in the muxed i/q mode. 4 i strobe polarity i strobe polarity. 0 = defines a sync assertion as a transition from a logic low to a logic high. (i out when low) 1 = defines a sync assertion as a transition from a logic high to a logic low. (i out when high) 3 cascade input enable enables i and q cascade data into the devic e. zeroes the input buses when low. set to zero when using any mode other than cascade. 2:1 cascade delay (1:0) delays the 4 ch sum to align with the cascade input summer. a casc ade of 4 devices is supported. 00 = no delay for master. 01 = delay for first slave. 10 = delay for second slave. 11 = delay for last slave. 0 broadcast enables all four channels to receive current p write access. notes: 37. there is also a complex output mode available for 4-ch summers 1 and 3 when the cascade feature is not required. this is acc omplished by setting the output mode to 0x01 in the top control register and selecting the complex output mode in the main control register of channel 0 or channel 2. this mode allows i and q data to be clocked out in paral lel at the full rate. refer to the main control register for further detail. 38. the cascade input of the first device in a cascade chain must be disabled. table 45. device control (continued) type: device control direct, address: 0x78 bit function description 0 = 1 = 0 = 1 = iqi i qq table 46. device output routing type: device control direct, address: 0x79 output mode real, imag, or muxed bit function description cascade complex 1 complex 2 complex 3 15 channel 3 routing routes channel 3 output to output summer 4. x x 14 channel 3 routing routes channel 3 output to output summer 3. x x x x 13 channel 3 routing routes channel 3 output to output summer 2. x x 12 channel 3 routing routes channel 3 output to output summer 1. x x x x x 11 channel 2 routing routes channel 2 output to output summer 4. x x 10 channel 2 routing routes channel 2 output to output summer 3. x x x x 9 channel 2 routing routes channel 2 output to output summer 2. x x 8 channel 2 routing routes channel 2 output to output summer 1. x x x x x 7 channel 1 routing routes channel 1 output to output summer 4. x x 6 channel 1 routing routes channel 1 output to output summer 3 x x x x 5 channel 1 routing routes channel 1 output to output summer 2 x x 4 channel 1 routing routes channel 1 output to output summer 1 x x x x x 3 channel 0 routing routes channel 0 output to output summer 4 x x ISL5217
40 2 channel 0 routing routes channel 0 output to output summer 3 x x x x 1 channel 0 routing routes channel 0 output to output summer 2 x x 0 channel 0 routing routes channel 0 output to output summer 1 x x x x x note: 39. x = channel routed to output and can be enabled. enable = 1, disable = 0. table 46. device output routing (continued) type: device control direct, address: 0x79 output mode real, imag, or muxed bit function description cascade complex 1 complex 2 complex 3 table 47. device output routing control summary function bit ch assignment to output summers channel 3 routing 15:12 summer 4, summer 3, summer 2, summer 1. channel 2 routing 11:8 summer 4, summer 3, summer 2, summer 1. channel 1 routing 7:4 summer 4, summer 3, summer 2, summer 1. channel 0 routing 3:0 summer 4, summer 3, summer 2, summer 1. table 48. output modes output mode tritst outen (1:0) iin (19:10) iin (9:0) qin (19:10) qin (9:0) iout (19:10) iout (9:0) qout (19:10) qout (9:0) 00 0 00 hi-z hi-z hi-z hi-z e nabled enabled enabled enabled 00 0 01 hi-z hi-z hi-z hi-z enabled enabled hi-z hi-z 00 0 10 hi-z hi-z hi-z hi-z hi-z hi-z enabled enabled 00 0 11 hi-z hi-z hi-z hi-z hi-z hi-z hi-z hi-z 00 1 00 hi-z hi-z hi-z hi-z hi-z hi-z hi-z enabled 00 1 01 hi-z hi-z hi-z hi-z hi-z hi-z enabled hi-z 00 1 10 hi-z hi-z hi-z hi-z hi-z enabled hi-z hi-z 00 1 11 hi-z hi-z hi-z hi-z enabled hi-z hi-z hi-z 01,10,11 0 00 enabled enabled enabled e nabled enabled enabled enabled enabled 01,10,11 0 01 enabled enabled hi-z hi-z enabled enabled hi-z hi-z 01,10,11 0 10 hi-z hi-z enabled enabled hi-z hi-z enabled enabled 01,10,11 0 11 hi-z hi-z hi-z hi-z hi-z hi-z hi-z hi-z 01,10,11 1 00 hi-z hi-z hi-z enabled hi-z hi-z hi-z enabled 01,10,11 1 01 hi-z hi-z enabled hi-z hi-z hi-z enabled hi-z 01,10,11 1 10 hi-z enabled hi-z hi-z hi-z enabled hi-z hi-z 01,10,11 1 11 enabled hi-z hi-z hi-z enabled hi-z hi-z hi-z ISL5217
41 table 49. coefficient addresses ds[n] ds[n-1] ds[n-2] ds[n-3] ds[n-4] ... ds[n-12] ds[n-13] ds[n-14] ds[n-15] ip0 0 16 32 48 64 ... 192 208 224 240 ip1 1 17 33 49 65 ... 193 209 225 241 ip2 2 18 34 50 66 ... 194 210 226 242 ip3 3 19 35 51 67 ... 195 211 227 243 ip4 4 20 36 52 68 ... 196 212 228 244 ip5 5 21 37 53 69 ... 197 213 229 245 ip6 6 22 38 54 70 ... 198 214 230 246 ip7 7 23 39 55 71 ... 199 215 231 247 ip8 8 24 40 56 72 ... 200 216 232 248 ip9 9 25 41 57 73 ... 201 217 233 249 ip10 10 26 42 58 74 ... 202 218 234 250 ip11 11 27 43 59 75 ... 203 219 235 251 ip12 12 28 44 60 76 ... 204 220 236 252 ip13 13 29 45 61 77 ... 205 221 237 253 ip14 14 30 46 62 78 ... 206 222 238 254 ip15 15 31 47 63 79 ... 207 223 239 255 table 50. revision history revision number revision date revision description 6004.2 february 20, 2003 - added a note in the pinout diagram - see the note for cs pin description and microprocessor interface section - figure 11, ?re-sampling nco block diagram? -- corrected bit-weights - table 8, ?input/output modes? -- corrected - corrected the note 3 in ?absolute maximum ratings? table - table 49, ?coefficient addresses? -- corrected - appendix a added ISL5217
42 appendix a -- errata sheet microprocessor interface issue a chip select (cs ) operational issue has been identified and isolated to the design of the pad input circuitry in the write (wr ) input cell. under certain conditions, the combinational logic contained in the pads allows an internal chip rising edge write (wr _to_core) signal to occur when the external wr pin is high and the cs pin is transitioned from the inactive high state to the active low state. the combinational logic contained in the pads is functionally shown in figure 29. if after a completed write cycle to the chip, the wr is again asserted low while cs is inactive high, as would happen if a write to another device on the bus occurs, the state of the control logic in the chip is c hanged such that the next time cs is asserted low and wr is inactive high, as would happen at the start of a chip read cycle, an internal wr _to_core strobe will be generated and the chip register corresponding to the state of the address bus at the time of the falling edge of cs will be inadvertently loaded with the data present on the data bus p<15:0>. work arounds the recommended work around for the device is to place the status register address (0x016) or any unused address on the a<6:0>address bus prior to enabling the device with the cs line. the excess write will then either clear the device?s status register or perform a ?dummy? write to an unused address space as the chip is enabled. care should be utilized when enabling the cs such that the dummy address remains on the bus until any cs decoding bounces are complete. alternatively, if system cons iderations allow, on read operations the wr could be placed in the active low state prior to cs being asserted active low per figure 30. this would be enveloping the cs signal with the wr signal, thus preventing the extra write from occurring on the falling edge of cs . similarly during a write cycle, the wr could be placed in the active low state prior to cs being asserted active low per figure 31, with the write occurring on the rising edge of wr . these work arounds will prevent the occurrence of an uncontrolled write when cs is asserted low and prevent the alteration of operationa l register contents. future revisions hardware solutions to correct this undesired write have been reviewed, and the design may be modified to prevent this occurrence in future versions of the devices. any such changes will be backwards compatible to the existing device, such that the recommended work -arounds will not affect the operation of the device in existing designs. jtag testing the bi-directional type pins cannot be used as inputs in extest mode, however they do work in sample mode. work arounds the test vectors should be written such that the bi-directional pins are used only as outputs, with the device on the other end of the line used as the inpu t. alternatively, the test vectors can be written such t hat sample mode is used when treating the bi-directional pins as inputs. wr _pad figure 29. cs simplified schematic rd _pad a0 a1 s z rdmode a0 a1 s z alt_rd rdmode alt_wr d gn q cs _latched cs _pad wr _to_core rd figure 30. read cycle rd wr cs figure 31. write cycle rd wr cs ISL5217
43 all intersil u.s. products are manufactured, asse mbled and tested utilizin g iso9000 quality systems. intersil corporation?s quality certifications c an be viewed at www.intersil.com/design/quality intersil products are sold by description only. intersil corporation reserves the right to make changes in circuit design, soft ware and/or specifications at any time without notice. accordingly, the reader is cautioned to verify that data sheets are current before placing orders. information furnishe d by intersil is believed to be accurate and reliable. however, no responsibility is assumed by intersil or its subsidiaries for its use; nor for any infringements of paten ts or other rights of third parties which may result from its use. no license is granted by implication or otherwise under any patent or patent rights of intersil or its subsidiari es. for information regarding intersil corporation and its products, see www.intersil.com ISL5217 plastic ball grid array packages (bga) o top view d a1 corner bottom view p n l m j k g h f e 8 13 14 12 11 10 9 corner 765 3 42 c d a b 1 side view seating plane c a a1 a2 bbb c aaa a1 corner i.d. e a b e1 d1 b s all rows and columns s m a b c c 0.15 0.08 m 0.006 0.003 a1 a1 corner i.d. e a a c v196.15x15 196 ball plastic ball grid array package symbol inches millimeters notes min max min max a - 0.059 - 1.50 - a1 0.012 0.016 0.31 0.41 - a2 0.037 0.044 0.93 1.11 - b 0.016 0.020 0.41 0.51 7 d/e 0.587 0.595 14.90 15.10 - d1/e1 0.508 0.516 12.90 13.10 - n 196 196 - e 0.039 bsc 1.0 bsc - md/me 14 x 14 14 x 14 3 bbb 0.004 0.10 - aaa 0.005 0.12 - rev. 1 12/00 notes: 1. controlling dimension: millimeter. converted inch dimensions are not necessarily exact. 2. dimensioning and tolerancing conform to asme y14.5m-1994. 3. ?md? and ?me? are the maximum ball matrix size for the ?d? and ?e? dimensions , respectively. 4. ?n? is the maximum number of bal ls for the specific array size. 5. primary datum c and seating plane are defined by the spher- ical crowns of the contact balls. 6. dimension ?a? includes sta ndoff height ?a1?, package body thickness and lid or cap height ?a2?. 7. dimension ?b? is measured at the maximum ball diameter, parallel to the primary datum c. 8. pin ?a1? is marked on the to p and bottom sides adjacent to a1. 9. ?s? is measured with respect to datum?s a and b and defines the position of the solder bal ls nearest to package center- lines. when there is an even number of balls in the outer row the value is ?s? = e/2.


▲Up To Search▲   

 
Price & Availability of ISL5217

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X